Die If-Abfragen kannst du dir doch schenken:
Delphi-Quellcode:
frame1.Parent := nil;
frame2.Parent := nil;
Aber es geht noch eleganter:
Delphi-Quellcode:
procedure RemoveChildControls(c: TWinControl);
begin
while c.ControlCount > 0 do
begin
c.Controls[0].Parent := nil;
end;
end;
// Alles, was auf Scrollbox1 liegt entfernen
// Die Childs selber werden aber nicht freigegeben
RemoveChildControls(Scrollbox1);