Das ist falsch, Du verwechselst hier "Owner" und "Parent". Der Parent gibt nichts frei, nur der Owner.
Aha, tu ich das?
Was sagt die Doku dazu?
http://docwiki.embarcadero.com/Libra...Control.Parent
Zitat:
Anmerkung: Die in TControl
deklarierte Eigenschaft Parent
ähnelt der Eigenschaft Owner
von TComponent
darin, dass die hier angegebenen Objekte für das Freigeben des Steuerelements zuständig sind.
Ich bin versucht, die Doku in Zweifel zu ziehen (wäre nicht das erst Mal, dass da Mist steht), aber ich werde mir gleich mal den Source dazu ansehen und es testen.
OK, Du hast Recht und die Doku stimmt:
Delphi-Quellcode:
destructor TWinControl.Destroy;
var
I: Integer;
Instance: TControl;
begin
// [...]
I := ControlCount;
while I <> 0 do
begin
Instance := Controls[I - 1];
Remove(Instance);
Instance.Destroy;
I := ControlCount;
end;
// [...]
inherited Destroy;
end;
Gut, dass ich keine Wette drauf abgeschlossen habe.
[Weitere Bemerkung gelöscht.]