Zitat von
DGL-luke:
self.Parent := TWinControl.CreateParented(-3); //beim zuweisen eines "echten" parents nicht das freigeben vergessen! (Setter überschreiben?)
Geht ja so nicht. Immerhin wäre in den vorherigen Beispielen Panel2 ein "echter" Parent (oder zumindest nicht von einem solchen zu unterscheiden). Wird also der Parent verändert bekommst Du das einmal mit, hat dieser neue Parent also noch kein übergeordnetes Fenster, wirst Du nie erfahren, wenn dieser Parent auf in Fenster platziert wird (dann wird ebend seine setParent-Methode aufgerufen).