Hallo zusammen,
ich habe ein großes Projekt in Delphi 5 und muss über eine .NET-Klasse auf eine andere Anwendung zugreifen. Da ich das Projekt unmöglich auf eine höhere Delphi-Version hochziehen kann, war meine Idee, mit Visual Studio eine Klassenbibliothek auf .NET4 zu erstellen und die Funktionen in Delphi aus der
DLL zu starten.
Für einen ersten Test habe ich eine neue Klassenbibliothek mit C# erstellt und den Aufruf einer einfachen Prozedur in Visual Studio erfolgreich getestet.
Dann habe ich den Aufruf der
DLL in Delphi 5 so versucht:
Delphi-Quellcode:
procedure ...
var t_dllhandle: THandle;
t_dllfunction: TFarProc;
t_procedure: TdoHelloMsg;
begin
...
t_dllhandle:=LoadLibrary(PChar(g_testdll));
t_dllfunction:=GetProcAddress(t_dllhandle, 'doHelloMsg');
...
Das
Handle bekomme ich noch ordnungsgemäß, aber dann ist t_dllfunction nach dem GetProcAddress() immer "nil".
Nun meine Frage:
Kann ich eine .NET-
DLL überhaupt einfach so in Delphi 5 ansprechen?
Hat jemand evtl. eine andere Idee, ein Stück .NET4 in Delphi 5 ohne dieses
COM-Interop zu starten?
Ich muss hier keine Daten austauschen, es geht nur um den Prozeduraufruf, um irgendwelche Aktionen in der .NET-Klasse auszulösen.
Vielen Dank,
Christian