![]() |
|
URL dieses Artikels:
Delphi 7 und Delphi 8 .NET DLL
Frage: Ich habe versucht, eine einfache DLL in der .NET-Umgebung mit Delphi 8 zu erstellen, die Funktionen für eine mit Delphi 7 kompilierte Win32-Anwendung bereitstellt. Wenn ich die DLL in einem Delphi 7 Projekt einbinde, funktioniert es einwandfrei. Sobald ich jedoch in der Delphi 7-Anwendung einen String-Parameter an die DLL-Funktion übergeben will, erhalte ich einen leeren String zurück und es wird eine Exception ausgelöst! Kann mir jemand weiterhelfen?
Antwort: Ich kann das Problem nicht reproduzieren, denn die CLR von .NET kümmert sich um alle notwendigen Datentyp-Anpassungen automatisch. Wenn die von der .NET-Assembly exportierten Schnittstellenprozeduren im Delphi 7-Programm über die Aufrufkonvention stdcall importiert werden, ist der Aufruf erfolgreich, wie der folgende Test zeigt: A) Delphi 8: .NET Unmanaged Export
library D8LibExport;
{ UNSAFECODE ON}
B) Delphi 7: Win32-Client
unit D7AppFrmMain; |
|
© 2002 Software & Support Verlag GmbH. Vervielfältigung
nur mit Genehmigung des Verlags. Alle Markennamen sind in der Regel
eingetragene Warenzeichen der entsprechenden Unternehmen oder Organisationen.
Fragen? ... zum Angebot des Software & Support Verlags: info@entwickler.com ... zu dieser Website: webmaster@entwickler.com |