Thema: Delphi Class in DLL verwenden

Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Class in DLL verwenden

  Alt 17. Aug 2012, 10:11
Teile der VCL werden doppelt vorhanden sein: zum Einen im Hauptprogramm und zum Anderen in der DLL.
Die EXE, die keine DLL verwendet wird also kleiner sein als die Summe der neuen EXE + DLL.

Deine EXE + DLL Lösung hat eigentlich nur Nachteile:
* grösser, benötigt mehr Resourcen
* schwieriger zu Debuggen
* meist höhere Ladezeit
* Probleme bei der Verarbeitung von Exceptions, da es die Exception Klassen nun zweimal gibt
* Probleme beim Updaten - es gibt verschiedene Versionen von EXE und DLL;
will man auf Nummer Sicher gehen muss man Beides schicken
* Entwicklungszeit verlängert sich

Unter Delphi sollte man keine DLLs erzeugen, die Teile der VCL benützen um die beschriebenen Probleme zu vermeiden.
Kurzgesagt: DLLs sollten Non-VCL sein!
Delphi Packages vermeiden zwar einige der Probleme, allerdings entstehen neue Probleme.
Du musst nun nämlich die Standard - Packages mitliefern und auf dem Zielrechner installieren.
Dabei besteht immer die Gefahr, dass schon eine andere Anwendung diese Packages installiert hat.
Sollte diese andere Anwendung deinstalliert werden, könnten auch die Packages gelöscht werden und deine Anwendung startet nicht mehr.
  Mit Zitat antworten Zitat