Nein, es müssen die Komponenten erst registriert werden, welche man da verwenden will,
denn wie soll der Loader die Typen sonst finden? (und wehe jemand erwähnt die neue
RTTI, denn Diese kennt der Loader nicht)
Siehe
RegisterClass(MyScrollBar);
in dem Beispiel.
Ich empfehle diese aber vor Aufruf der Ladefunktion zu registrieren und danach dann (im finally) wieder zu deregistrieren, denn eine Klasse darf nur einmal registriert sein und der zweite Versuch wird eine
Exception werfen (falls das nicht inzwischen umgebaut wurde).
(in dem Beispiel ging das, da die klasse sonst nirgendwo verwendet wird)
PS: Der
VCL-Loader, welcher die DFMs läd, da hat entweder der Compiler oder der Loader (weiß jetzt nicht wer das genau macht) aus der Klassendefinition die Typen der published Felder ausgelesen und holt sich darüber die Typen, registriert Diese und läd dann erst die
DFM.
[add]
RTTI: Man kann über einen unqulifizierten Namen (ohne Namespace/
Unit) keinen Typen genau bestimmen/suchen.
Erstellt mal mehrere Units, da drin ist überall je eine TForm1 und dann versucht über die
RTTI die "richtige" TForm1 aus den Vielen rauszufinden.