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.
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.
Dafür gibt es seit einer Weile das
class constructor Create;
, welches nur eingebunden und wie das Initialization aufgerufen wird, wenn die Klasse wirklich verwendet wurde.