das ist das was die ganze zeit versucht wird dir zusagen
TStrings ist eine abstrakte Basisklasse. Die ganzen Elemente wie Listboxen, Memos etc. haben eine davon abgeleitete Klasse welche das lesen und schreiben von Einträgen direkt auf die
WinApi abbilden. Wenn aber zu dem Zeitpunkt das Control noch nicht angelegt ist (kein
Handle angefordert etc.) kann nichts auf die
WinApi abgebildet werden.
Noch was aus meiner persönlichen Sicht:
Sowas gehört sich nicht:
Delphi-Quellcode:
constructor TComponentNachfahre(AOwner: TComponent);
begin
[...]
MemberVar := AOwner as TWinControl;
[...]
der Owner von TComponent hat nichts mit dem Parent oder anderen Visuellen Dingen zu tun geschweige dem mit Handles. Du kannst/solltest/darfst nie davon ausgehen das überhaupt ein Owner übergeben wird. Wenn Komponenten dynamisch erzeugt werden ist der Owner oftmals nil weil er nicht benötigt wird -> denn Dinge die man selbst anlegt/instanziert räumt man auch selbst wieder auf und ist somit nicht auf den Owner angewiesen der teilweise in der Objecthierarchy auch nicht vorhanden ist die man sich im Konzept überlegt hat.