Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#23

Re: Sinn von DLL-Formularen

  Alt 23. Sep 2005, 16:06
Zitat:
Wann wird die VCL geladen, bei Erstellen von TApplication oder bei dem Aufbau der Forms.

Das hängt davon ab wie die Abhängigkeiten sind.

Normalerweise werden die Grundlagen Packages wie VCL,DB etc. statisch in die EXE gelinkt. Sie werden damit also beim Laden der EXE ebenfalls geladen.

Hat man nun weitere Packages die zb. nur anwendungspezifisch sind, und auf spezielle Formulare aus Modulen bezogen benötigt werden, dann werden diese Packages immer dann geladen und entladen wenn ein solchen Formular Modul geleden und entladen wird.

Diesen Fakt nutzen wir in unserem Modulsystem aus. Wir erzeugen Formulare erst bei Bedarf, sprich Nutzeraufruf, und laden dann das dazugehörige Modul ebenfalls dynamisch. Sollte dieses Formular aber auf ein eigenes mehrfach benutztes Packages statisch zugreifen, so wird dieses Packages ebenfalls dynamisch geladen. Logisch, wenn du mal tiefer darüber nachdenkst.

Einige Packages, besonders 3'rd Party Packages wie ReportBuilder, sollten aber schon statisch mit der EXE geladen werden und dann permanent im Speicher verbleiben. Denn diese Packages wurden nicht korrekt auf ein dynamsiches Entladen hin programmiert. Sie installieren Hooks oder allozieren Objekte etc. pp. und deinstallieren sie aber nicht mehr korrekt beim Entladen der Packages. Das kann dann zu Fehlern beim dynamischen Entladen führen.

Gruß Hagen
  Mit Zitat antworten Zitat