Entwickler-Ecke

Andere .NET-Sprachen - .NET und DLL


Holgerwa - Fr 05.08.05 20:51
Titel: .NET und DLL
Hallo,

ich trau mich jetzt einfach mal, zu fragen, auch auf die Gefahr hin, daß ihr lacht 8)

Von allem, was mit .NET zu tun hat, habe ich bisher absolut keine Ahnung. Ich verwende Delphi 7 und programmiere Win-32 Anwendungen.
Wenn ich nun irgendwann eine Win-32 Anwendung mit Delphi 2005 nach .NET konvertieren möchte, und es z.B. eine wichtige Komponente nicht als .NET Version gibt, habe ich erstmal ein unlösbares Problem.

Aber ist es denn in irgendeiner Form möglich, diese nicht als .NET vorhandene Funktionalität z.B. in eine DLL zu packen, und diese dann in einem .NET Programm anzusprechen?

Oder sind das wirklich zwei getrennte Welten, die niemals die Fähigkeit haben werden, zusammenzuarbeiten?

Danke!
Holger


LigH - Fr 05.08.05 21:03

Selbstverständlich geht das grundsätzlich! Es wird ja gerade damit geworben, dass man z.B. mit C# eine Komponente entwickeln, diese in Delphi.NET ableiten und weitervererben, und diese dann in einer VB.NET-Applikation benutzen könnte. Oder anders herum. Und soweit ich weiß, sind Komponenten-Bibliotheken eine Art DLL wie auch sonst Funktions-Bibliotheken, weil unter .NET alles stärker objekthierarchie-orientiert ist.


Holgerwa - Sa 06.08.05 13:36

Hallo,

@LigH: Jetzt bin ich aber überrascht! Das heißt ja dann im weitesten Sinne, daß man weiterhin diverse VCL-Komponenten in .NET verwenden kann.
Bisher habe ich nur Hinweise gefunden, die das absolut ausgeschlossen haben, nach dem Motto: Wenn es die benötigte Komponente nicht als .NET Version gibt, Pech gehabt.

Aber das wäre natürlich super! Nach was könnte ich denn da suchen, so als Stichwort?

Danke!
Holger


UC-Chewie - Sa 06.08.05 17:33

Es geht schon, allerdings verliert man dadurch Portabilität und auch Sicherheit. Das Stichwort für dich wäre wohl Suche in: Delphi-Forum, Delphi-Library P/INVOKE


LigH - Sa 06.08.05 18:08

Ich habe nicht behauptet, man könne VCL-Komponenten benutzen. Ich habe nur gesagt, man kann .NET-Klassen und -Komponenten über mehrere Sprachen hinweg ableiten und weiterverwenden, sowie auch in DLLs unterbringen.

In der herkömmlichen Win32-Programmierung wurden DLLs sicher gern als Funktionen-Bibliothek genutzt. Im .NET-Zeitalter würde ich sie jedoch wohl eher als Klassen-Bibliotheken nutzen, weil in .NET Klassenhierarchien wichtiger sind, und "flache" Funktionen nach Möglichkeit an Bedeutung verlieren sollten.