Ich würde in dem Fall sogar ein ebene höher gehen
und MyClass als TTestItemClass definieren.
Vom Prinzip ändert es aber nichts.
Das was aus GetClass raus kommt muß früher oder später gecastet werden, um an den richtigen Constructor ranzukommen.
Zitat:
Kein einziger Konstruktor wird aufgerufen. Komisch oder?
Und um dass nochmal zu kommentieren.
Doch, es wurde definitiv ein Constructor aufgerufen ... nur halt nicht Deine(r).
>
TObject.Create
PS: Der Constructor muß nicht unbedingt Create heißen.
Zum Testen kannst du ihn gern MyIrgendwas nennen und dann schauen was dabei passiert. (den "falschen" Create erwischst dann ja nicht mehr)
Im TMyPersistent.Create dann natürlich mit
inherited Create;
.