Hola...
Tendrías que construir una fabrica de objetos (o clases
), en la cual registrar los nombres de clase de la forma con su respectiva clase y luego solo las creas usando el nombre de la clase:
Algo como:
Código Delphi
[-]
Form1 := FormFactory.FormClasses['TForm1'].Create(Applicacion);
Ahora, en tu caso la función que quieres usar puedes mandarle el tipo de la forma que quieres crear:
Código Delphi
[-]
function CrearForma(AFormClass: TFormClass): TForm;
begin
Result := AFormClass.Create(Application)
end;
Para llamar la función solo haces:
Código Delphi
[-]
Form1 := CrearForma(TForm1);
Form2 := CrearForma(TForm2);
Saludos...