Wenn die Klassen nicht verwendet werden, dann wird ihr Code auch nicht in die EXE/
DLL/
BPL einkompiliert.
Es macht diesbezüglich also keinen Unterschied, ob die Klassen in der
Unit liegen oder nicht.
Die entsprechenden Units haben initialization/finalization-Code + Feste einbindung von
DLL's + Ressourcenabschnitte.
OK, man sollte nicht, so wie in SysUtils oder Classes alles in Initialization initialisieren, denn dann wird es dennoch eingebunden, da es ja
in Initialization verwendet wird.
Und wenn du entsprechen anzahl von Elementen hast die zu 99% bei normalen Apps benötigt werden und zu 100% bei
VCl-Form-Apps? Dann jedesmal dem Entwicker nahe legen noch x Initialization-Funktion aufzurufen? Ok, es gibt mittlerweile genügen Pattern wie man sowas besser macht, aber wieviel Stunden würde das benötigen um einen XE2-Code um solche seit Delphi 1/2 vorhandenen Codeteile fehlerfrei umzustellen. Application.Initialize und Application.MainFormVisible (?) haben schon für genügend Threads hier im Forum geführt.
Windows Vista - Eine neue Erfahrung in Fehlern.