procedure ShowMyForm(FormClassName: string);
begin
with TFormClass(FindClass(FormClassName)).Create(Application) do
try
ShowModal;
finally
Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//at runtime
ShowMyForm('TForm2');
// or directly in your code
ShowMyForm('TForm3');
end;
initialization
RegisterClasses([TForm2, TForm3]);
end.
procedure TForm1.Button1Click(Sender: TObject);
begin
RegisterClasses([TForm2]);
with TFormClass(GetClass('T'+'Form2')).Create(Application) do begin
Show;
end;
end;