Есть основной проект с формой Form1, а есть форма, созданная заранее (Form2) с контролами и т.п.
Задача - написать процедуру, которая будет создавать форму Form2.
Если я создаю форму так:
- Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2:=TForm2.Create(self);
Form2.Show;
end;
То все само собой работает.
А если я хочу создать форму из процедуры, передав ей название нужной формы:
- Код: Выделить всё
procedure TForm1.CreateForm(Form:TForm; AOwnerParent:TWinControl);
begin
Form:=TForm.Create(AOwnerParent);
Form.Show;
end;
- Код: Выделить всё
CreateForm(Form2,self);
То я получаю новую форму, но без контролов Form2.
Почему так происходит я знаю (или думаю, что знаю) - я создаю форму Form2 с нуля, не используя класс TForm2, который создал ранее для описания свойств и контролов Form2.
А теперь вопрос.
Как мне сказать процедуре, что я хочу создать Form2 именно TForm2, а не TForm. Это надо передать через переменную, так как потом я буду создавать Form3, Form4 и т.п.
Проект: https://yadi.sk/d/drqW3NOi3MkwXN