none
Como usar dll creada en C# .NET en C++ RRS feed

  • Pregunta

  •  

    Hola,

     

    Tengo una libreria .dll creada en C# .NET y tengo que usarla en una aplicación que debo crear en C++. No se como hacer referencia a esa libreria, ya que no tengo ningun .lib . Me han comentado que quiza tenga que hacer un objeto COM con esa libreria, cosa que tampoco sé hacer.

     

    Alguien me puede echar una mano??

     

    Gracias

    lunes, 21 de julio de 2008 11:35

Todas las respuestas

  • Hola,

    Primero, necesita a aprender cómo usar la librería en C#. Por ejemplo, la librería tiene el clase Message i usted  quiere construir un objeto de Message i llamar un método.

    C#

    Message msg = new Message();

    msg.Send();

    Puede usar Reflector o ildasm a examinar  si el Message clase esta marcado como ComVisible. Supongo no. En este caso, haga un auxiliar C# ensamblado con un clase marcado con ComVisible.

     

    C#

    [ComVisible]

    Class MyMessage

    {

                Message msg;

    Public MyMessage() { this.msg = new Message(); }

    Public void Send() { this.msg.Send(); }

    };

    Luego, necesita a registrar su auxiliar ensamblado como COM librería. Use regasm.exe /tlb . Ese programe registra i genera una biblioteca de tipos desde el ensamblado. Busque a “#import” en MSDN a aprender cómo puede usar el tlb generada a construir un objeto COM.

     

    Palabras de clave: ComVisible, regasm.exe, type library, #import

    jueves, 24 de julio de 2008 7:18