Estimado Colega, espero esto sea lo que requiere. Este le serviria para abrir cualquier form utilizando su clase...
Código Delphi
[-]
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FMX.Controls.Presentation, FMX.StdCtrls;
type
TFormClass = class of TForm;
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure CreateFormFromName(const FormName: string);
procedure ShowForm(FormClass: TFormClass);
public
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.fmx}
procedure TForm1.ShowForm(FormClass: TFormClass);
begin
With FormClass.Create(NIL) do
Try
Showmodal;
Finally
Free;
End;
end;
procedure TForm1.CreateFormFromName( const FormName : string);
var
fc : TFormClass;
begin
try
if FindClass(FormName)=nil then
exit;
fc:=TFormClass(FindClass(FormName));
ShowForm(Fc);
except
ShowMessage(Format('Clase %s no encontrada',[FormName]));
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateFormFromName('TForm2');
end;
initialization
RegisterClass(TForm2);
end.