C sharp - USAR UNA DLL C# EN LAZARUS

   
Vista:

USAR UNA DLL C# EN LAZARUS

Publicado por Chema (2 intervenciones) el 07/08/2014 02:44:56
Hola. Quisiera hacer una consulta a los más veteranos.
Dispongo de un pequeño código escrito en Visual Studio 2012, lenguaje c#.
Ése código lo he tratado para obtener una DLL y lo que pretendo es utilizar la DLL en una aplicación Lazarus.
He llegado hasta el punto de poder cargar la DLL, pero cuando intento acceder a cualquier método no lo encuentra.

El código escrito es el siguiente:

try
MyLibC := LoadLibrary('MiDll.dll');
if MyLibC = dynlibs.NilHandle then begin resultado:= false; Exit; end;
finally
end;

nombreMetodo:= 'holamundo';
MyFunc:= TMyFunc(GetProcedureAddress(MyLibC, nombreMetodo));
try
MyFunc();
except
end;

Una vez que se ejecuta:
MyFunc:= TMyFunc(GetProcedureAddress(MyLibC, nombreMetodo));
el resultado asignado a MyFunc es siempre 0.

Me he percatado de que los métodos a los que intento acceder pertenecen a clases declaradas en c#. He intentado probar a asignar diferentes nombres y combinaciones a 'holamundo', pero sigue sin funcionar.

¿Alguien que pueda ayudarme?
He visto multitud de información al respecto en la red, pero nada que sea claro y que me haya funcionado.
Muchas gracias por adelantado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

USAR UNA DLL C# EN LAZARUS

Publicado por Pico (114 intervenciones) el 07/08/2014 17:29:57
No, eso no funciona así en una dll hecha en c#. Una dll en c# se puede cargar en cualquier lenguaje como objeto com. No es que sea un objeto com, pero tiene una interfaz para poder manejarlo. En lazarus no sé cómo será exactamente, pero no será muy diferente que en delphi http://delphi.about.com/library/weekly/aa121404a.htm.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar