Zitat von
Miguel79:
Woran es liegt, kann ich mir auch vorstellen -> SubPanels müssen beim entfernen korrekt aus der ComponentenListe gelöscht werden. Nur WIE???
Wenn eine Komponente freigegeben wird, werden alle anderen Komponenten davon benachrichtigt.
Die Methode dazu heisst
Notification und muss von deiner Klasse überschrieben werden.
Delphi-Quellcode:
procedure TSplitterPanel.Notification(AComponent: TComponent; Operation: TOperation);
begin
if (Operation=opRemove) and (AComponent=_SubPanel) then
begin
_SubPanel := nil;
end;
end;
Du redest von mehreren SubPanels, hast aber nur eine Variable (_SubPanel) dafür.
Das könnte ein Problem sein.
Hier:
http://www.torry.net/pages.php?s=79 kannst du Sourcecode für diverse Panels runterladen.
Ein gute Möglichkeit um Ideen zu holen und dazuzulernen.