Jun 19, 2008
Leido 400 veces
Publicado por porkeno
Artículo de programción C# .NET y Delphi
Cuando realizamos una DLL (Library) con Delphi y la queremos cargar en C#, uno de los aspectos que tenemos que tener en cuenta son los strings, pero eso es cuestión de hablar en otro artículo. El artículo de hoy va destinado a poder realizar un Assembly en C# .NET para poderlo utilizar en Delphi.
Para conseguir establecer una comunicación entre una Biblioteca de Clases (DLL) en C# y un proyecto en Delphi, debemos seguir los pasos enumerados a continuación
- En C#: Crear un proyecto como Biblioteca de Clases, donde se irán acumulando las clases que queremos envolver.
- En C#: Abrir las Propiedades del Proyecto y en la pestaña de “Depurar” marcar “Depurar para la interopabilidad COM”
- En C#: Abrir el fichero AssemblyInfo.cs y en donde pone ComVisible(false) cambiarlo por ComVisible(true)
- En C#: Para que el Objeto COM tenga efecto debe tener un constructor de Clase sin parámetros.
- En C#: Definir una Interfaz que la clase que queremos exportar deberá cumplir con dicho contrato. Así a la hora de utilizarla será mucho más sencillo.
- Cada vez que compilemos se generará un TLB junto a la DLL.
- En Delphi: Copiar el TLB al directorio del proyecto, y dirigirnos a "Proyect -> Import Type Library" Clickar en "ADD", Seleccionar el TLB y pulsar sobre Create Unit.
- En Delphi: Ahora ya podemos usar el Objecto COM desde Delphi, y para usarlo, tenemos el siguiente ejemplo
Uses *_TLB y ComObj
----C#:-
//Código Delphi
-
Var
-
Com : ISomeInterface
-
Begin
-
Com := CreateComObject(CLASS_SomeInterface_) as ISomeInterface;
-
-
Com.SomeMethod;
-
...
-
End
-
Con esta guia podrás Cargar una Dll de .Net en Delphi
Si tenéis dudas no tenéis ponerme un comentario.
Espero ser de ayuda.
Tambien puedes dirigirte a





