E' possibile creare un form FMX conoscendo il nome della classe.
Supponiamo che il form da creare si chiami Form8 e la classe sia TForm8.
Nell'evento OnCreate del form principale, per ogni form da creare/utilizzare, scrivere la seguente istruzione
RegisterFMXClasses([TForm8]);
Io ho creato una function per la creazione del form che mi restituisce il form creata, come la seguente:
function f_createformfromname(const p_formname : string): TCustomForm;
var
w_ObjClass: TFmxObjectClass;
w_fc, w_result : TCustomForm;
begin
w_result := nil;
w_ObjClass := TFmxObjectClass(GetClass(p_formname));
if w_ObjClass <> nil then
begin
w_fc := w_ObjClass.Create(Self) as TCustomForm;
if Assigned(w_fc) then
begin
w_result := w_fc;
w_fc.Show;
end;
end;
result := w_result;
end; (* CreateFormFromName *)
Per creare il form, basta quanto segue:
var
w_childform: TCustomForm;
.......
begin
w_childform := f_createformfromname('TForm1');
.................
A presto.
Nessun commento:
Posta un commento