How can un-embed a subform from another form?

  

I’d like to swap the subforms that appear in a container on my main form.

I’ve found a method of assigning one form as a subform of another here by making it’s parent a container on the main form.

procedure TParentForm.EmbeddForm(AParent:TControl; AForm:TCustomForm);
begin
while AForm.ChildrenCount>0 do
AForm.Children[0].Parent:=AParent;
end;

This works pretty much as I expected it to for adding a subform; however, I can’t seem to replace it once it’s already been made a subform.

niling the parent for the subform doesn’t seem to do the trick, nor does setting its parent to it self.

Is there a way to un-embed this subform from its container?

I’d rather not destroy an recreate these subforms all the time, just swap them out.

Comments are closed.