Como usar una clase escrita en C++ en .NET

20/07/2005 - 15:38 por jorge ormachea | Informe spam
Hola,

Yo tengo una clase C++ en una dll parecida a esta:

class __declspec(dllexport) MyClass
{
private:
public:
MyClass(void);

int funtion1(unsigned char * inBuffer, unsigned int inType, unsigned char
*outBuffer, int& out_Size);
int function2(void *inBuffer_a, void *inBuffer_b, unsigned long int
*outResult);
};

Nota: los parametros de las funciones tiene los prefijos "out" y "in"
dependiendo de la funcionalidad de los parametros

Yo trate de usar la clase con la funcionalidad DLLImport pero no funciono,
no estoy seguro si se puede usar esta funcionalidad con clases

Yo estoy trabajando con C#

Por favor si alguien podria ayudarme, gracias

Jorge Ormachea
 

Leer las respuestas

#1 Rodrigo Corral [MVP]
20/07/2005 - 16:49 | Informe spam
El principal problema es que DLLImport no sabe nada de clases. Otro es que
los nombres de las funciones y clases (que en realidad solo se exportan
funciones) van a estar decorados. Aun así seria posible utilizar depends
para ver los nombres decorados y luego invocar a las funciones, pero en
ningun caso vas a a ver clases, va a tener que tratar todo como funciones y
pasar explicitamente el this.

La mejor solución es construirte un wrapper manejado utilizando C++
manejado, bien sea Managed C++ o C++/CLI (VS 2005)


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org

Preguntas similares