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.