Einzelnen Beitrag anzeigen

moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Units / Forms in DLLs auslagern

  Alt 17. Mai 2008, 20:58
Moin !

Wir haben in unserer Anwendung einen ganz Schwung an Units die wir gerne in DLLs auslagern würden um die Größe der EXE Datei zu reduzieren und um den Speicherverbrauch nach dem Start zu reduzieren.

Nun stellen sich uns da aber ein paar Fragen ...
1) Was muss man beachten wenn man eine normale Unit in eine DLL "umwandeln" will. Vor allem wenn ich bedenke das die Units teilweise auf die Anwendung zugreifen um z.B. bestimmte Eigenschaftswerte zu lesen / schreiben.
Also würde z.B. sowas funktionieren aus einer DLL:
Form1.Label.text := 'Hallo Welt' Oder würde sowas zu Problemen führen ?
2) Die Units werden ja (so hoffe ich mal) dann nachgeladen wenn die beinhalteten Funktionen / Proceduren benötigt werden. Wenn die DLL aber danach nicht mehr weiter benötigt wird, wird sie dann auch wieder aus dem Speicher entfernt? Also gibt es eine Art "Free" für die DLLs, oder macht das Windows im Hintergrund dynamisch selber?
3) Wir haben einige Units die eine weitere Unit mit Formular verwenden. Also in der normalen Unit steht der Code um Daten umzurechnen und die Formulare dienen dann für Einstellungen die man dazu tätigen kann. Das müsste man ja dann in 2 DLLs auslagern. Stellt es dann ein Problem da wenn man von der ersten Unit (Berechnung) auf die zweite Unit mit dem Formular zugreifen muss um dort bestimmte Settings für die Berechnung abzuchecken?
Oder kann man mit den DLLs letztlich genauso arbeiten als hätte man eine "normale" Unit (bzw. Unit mit Formular) im Projekt eingebunden?
4) Kann man in eine DLL überhaupt ein Formular packen ?!
5) Ergeben sich andere Nachteile durch die Verwendung von DLLs oder gibt es da besondere Stolpersteine wo man aufpassen sollte?

Und noch als Nachtrag ... Gibt es mitunter bessere Lösungen als DLLs?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat