15 Stimmen

Kann ich eine .NET-DLL in "Delphi 2007 für Win32" verwenden?

Ist es möglich, eine .NET-DLL in Delphi 2007 für Win32 zu verwenden? Ich habe versucht, die DLL auf dieselbe Weise zu importieren wie eine ActiveX-Komponente, aber es scheint nicht zu funktionieren (Menü Komponente -> Komponente importieren -> .NET-Assembly importieren.

Ist dies möglich, und wenn ja, welche Schritte sind erforderlich?

10voto

Jim McKeeth Punkte 37652

Wenn Sie einen Delphi-spezifischen Artikel darüber lesen möchten:

Verwendung einer .NET Assembly über COM von Jim McKeeth

Es ist ziemlich einfach, wenn Sie alle Schritte kennen.

2voto

user394033 Punkte 21

CrossTalk von Atozed Software ermöglicht die Verwendung von .NET-Assemblies aus Delphi ohne COM, keine DLL-Registrierung und kann Original-Assemblies ohne Änderung verwenden.

http://atozed.com/CrossTalk

1voto

Lars Truijens Punkte 41774

Natürlich können Sie das. Sie müssen ihm nur mitteilen, welche Teile Ihres Codes auf diese Weise zugänglich sein sollen. Das können Sie mit dem ComVisibleAttribute tun. Am schnellsten geht es, wenn Sie [assembly:ComVisible(True)] in Ihre .dpk einfügen, wodurch alles öffentlich sichtbar wird. Dann können Sie die Methode verwenden, die Sie versucht haben, um die Assembly zu importieren.

Sie können auch nicht verwaltete Exporte durchführen, die wie normale DLL-Dateien aufgerufen werden können.

-1voto

Simon Temlett Punkte 2337

Ich glaube nicht, dass man das tun kann, indem man verwalteten und nicht verwalteten Code direkt in derselben Anwendung mischt.

RemObjects haben jedoch ein Framework namens Hydra die es Ihnen ermöglicht, .Net und Win32 in der gleichen Anwendung zu verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X