Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Auf Klassen in dlls zugreifen? (https://www.delphipraxis.net/77211-auf-klassen-dlls-zugreifen.html)

ralfi002 16. Sep 2006 10:42


Auf Klassen in dlls zugreifen?
 
Weis jemand von euch wie man auf Klassen in DLL Projekten zugreifen kann?

Da ich schon einige Zeit mit .net arbeite, bin ich gewohnt größere Projekte (Solutions) in mehrere Assemblies (dlls) aufzuteilen.
Die .Net Umgebung ermöglicht mir, auf sehr einfache Weise, ein Assembly (dll) in ein anderes Assembly (dll oder exe) einzubinden, und auf deren Klassen zuzugreifen, als ob diese Klassen im aufrufenden Projekt vorahande wären.

Ich habe zwar gelesen das man dlls erstellen kann, aber dass man nur (exportierte) funktionen darin aufrufen kann (aber keine Klassen).

Gibt es vielleicht einen anderen weg, dieses zu tun?

Thx,
ralfi

mkinzler 16. Sep 2006 10:50

Re: Auf Klassen in dlls zugreifen?
 
Handelt es sich um Delphiklassen?
-COM
-die Verwendung von Bpls statt Dlls
-Verwendung von Proxyklassen
-"Flachklopfen" der Klassen

ralfi002 16. Sep 2006 11:23

Re: Auf Klassen in dlls zugreifen?
 
Was es ist, ist mir eigentlich egal. COM möchte ich aber vermeiden, da diese Klassen nur in meinem 'Delphi' Projekt verwendet werden soll. Bei einem späteren Projekt sollen dann diese einzelnen Projekte wieder verwendet werden können.

So möchte ich z.B. ein Modulares Programm entwickeln, welches aus mehreren dlls besteht. Jede dll soll eine gewisse funktionalität beinhalten, die mehr oder weniger unabhängig von anderen dlls ist. Wenn dann ein Modul (dll) einen fehler entählt oder sich funktionalität ein wenig ändert, soll dann einfach diese dll ausgetauscht werden können, ohne das geammte Programm neu zu installieren.

Ein Beispiel wie ich mir das Vorstelle (bzw. wie ich es in VS.Net machen würde):

ProjectGroup:
- DatenanalyseGUI.exe
- DatenanalyseWindowsService.exe
- DataProvider.dll (einlesen/schreiben von daten)
- CalcEngine.dll (analysieren und berechnen der eingelesen daten)
- Exporter.dll (wandelt die daten daten um, damit andere programme sie lesen können)
- Logger.dll (sammelt errors und warnings)

(Beide exe projeckte verwenden die gleichen dll projekte)

Ist so etwas überhaubt in Delphi möglich?

thx,
ralfi

mkinzler 16. Sep 2006 11:28

Re: Auf Klassen in dlls zugreifen?
 
Zitat:

Ist so etwas überhaubt in Delphi möglich?
Ja, mit den oben genannten Methoden. Echte Delphi-Klassen im Interface gestatten nur Bpls (Erweiterung von Dlls), siese haben aber Nachteile, welche hier schon öfters diskutiert wurden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz