Danke Tyrael, jetzt habe ich es verstanden, was du meinst.
Ich mache es jetzt so:
Delphi-Quellcode:
public
{ Public-Deklarationen }
AlwaysCreatedFrame: TFrame;
TemporaryFrame: TFrame;
end;
procedure TfMain.FormCreate(Sender: TObject);
begin
//...
//häufig benötigte Frames
fProjectView := TfProjectView.Create(self);
end;
procedure TfMain.acDBAdministrationExecute(Sender: TObject);
begin
AlwaysCreatedFrame.Parent := nil;
FreeAndNil(TemporaryFrame);
TemporaryFrame := TfDBAdmin.Create(self);
TemporaryFrame.Parent := self;
end;
procedure TfMain.acProjectViewExecute(Sender: TObject);
begin
AlwaysCreatedFrame.Parent := nil;
FreeAndNil(TemporaryFrame);
AlwaysCreatedFrame := fProjectView;
AlwaysCreatedFrame.Parent := self;
end;
So kann ich zwischen den Frames, die ich weiterhin im Speicher halte und den temporär erzeugten relativ einfach wechseln (hier sind es ja derzeit nur zwei, aber es sollte auch mit mehreren funktionieren).