Thema: Delphi Pointer auf Oberklassen

Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

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

Re: Pointer auf Oberklassen

  Alt 16. Sep 2003, 12:13
Zitat:
Das dürfte sich also generell schwierig gestalten...
Nicht unbedingt. Alle Module die gemeinsam auf Klassen zugreifen wollen müssen die Packages die diese Klassen deklarieren benutzen. Z.b. eine EXE lädt eine Formular DLL und eine Report DLL. Alle drei Module benutzen die Packages VCL??.bpl und VCLDB??.bpl. Da nun die gemeinsam genutzen Klassen in diesen Packages enthalten sind existiert deren Klassendefinition auch nur EINMALIG im Package. Alle Zugriffe auf diese Klasse aus der EXE und den beiden DLL's laufen auf Zugriffe in das Packages hinaus. Somit ist alles wieder richtig, denn diese Klasse existiert global für alle anderen Module nur einmal. Als Seiteneffekt bei größeren Projekten reduziert sich der Resourcenverbrauch. Z.b. ein Projekt mit 1 EXE und 50 Formular-DLL's + 200 Report-DLL's benötigt pro DLL ca. 50 Kb. 251 * 50Kb = 13Mb + Packages 7Mb = 20Mb für alle Module.
Ohne Packages werden alle benötigten Parts der VCL in das Modul eingelinkt. Wir wissen das eine einfache EXE dann sofort 400Kb groß wird. Dies trifft auf DLL's genauso zu. Also: 251 * 400Kb = 100Mb, schon 4 mal soviel wie mit Packages.

Grundsätzlich kann man die VCL+Klassen nicht in einfache DLL's global benutzen. Ich weis es gibt im WEB viele Anleitungen wie man zB. Formulare in DLL's benutzen kann, aber im Grunde sind diese alle falsch.

Gruß Hagen
  Mit Zitat antworten Zitat