Question: I'm working on a project in Delphi and I want to create some repositories for inheritance and simplify VCL designing-loss-time. My Big Problem is that I have a `frame` with a `panel` that I put it into a `form`. In that `form` I want to put another `frame` inside the `panel` from first `frame`. The result is that the IDE set up my `frame` parent of the second `frame` to point to a main `panel` from `form`. What did I do wrong in this settings. It is possible in Delphi (Berlin) to put a `frame` inside another `frame` that is already in a `form`? Thank you in advance.

Answer: 
**Some background**

The main purpose of frames is to have ready made drop-in component assemblies. That is, component assemblies, that usually do not require changes in layout, when instantiated.

Although redesign of an instantiated frame is not prevented, it is not advisable. At least consider this carefully:

1. If you do modify an instantiated frame, those changes **are not** carried over to the design of the source frame.
2. If you do modify a source frame design, those changes **are** carried over to instances of the frame.

**The following answers your question:**

Frames can be nested, IOW, a frame can be a component of another frame, but they must be combined at the design of the parent frame. Frames can not be combined in a parent - child manner at design time of a form.

As the other answer shows, frames can be combined in a parent - child manner at run time.
Yes it's possible. Don't forget to set `Align` property because if both are `Client`, you will not see the first one.

```
procedure TForm1.Button1Click(Sender: TObject);
var
  Frame1: TFrame1;
  Frame2: TFrame2;
begin
  // set first frame on main form
  Frame1 := TFrame1.Create(Self);
  Frame1.Parent := Panel1;
  Frame1.Align := alClient;

  // set second frame in first frame
  Frame2 := TFrame2.Create(Frame1);
  Frame2.Parent := Frame1.Panel1;
  Frame2.Align := alBottom;
  Frame2.Height := 50;
end;

```