Hallo,
hier mal eine gaaanz verwegene Frage : (ist vermutlich Unsinn, aber wer weiss...)
Ich würde gern eine Function schreiben, welche den NAMEN eines Formulartyps TMyForm1, TMyForm2, usw.
als String übergeben bekommt, und die dann aus dem tatsächlich als Klasse definierten TMyForm1 eine Instanz created (die von mir gesuchte Funktion nenne ich mal StrToClass):
Delphi-Quellcode:
Function FormAufruf (Formtyp: String): TForm;
Begin
Result:=StrToClass(FormTyp).Create(Application);
end;
In der aufrufenden Procedure könnte ich das dann weiternutzen :
Delphi-Quellcode:
Procedure Formbenutzen;
var
BenutzForm: TForm;
BenutzFormName: String;
Begin
BenutzFormName:='TMyForm1';
Benutzform:=FormAufruf(BenutzFormName);
BenutzForm.Showmodal;
BenutzForm.Free;
End;
Wäre ja quasi ein Pinocchio-Effekt : Aus einem 'hölzernen' String wird ein 'lebendiges' Formular.
Nicht anvisiert ist hier eine CASE-Struktur, die alle vorhandenen TMyForm? abfragt, und in der auch alle vorhandenen Typen vorher eingetragen werden sollen...
Hat jemand sowas schon mal gemacht ? Gibts da eine Funktion ? Ist das etwa was triviales, was ich nur einfach nicht kenne ?
Oder ist es schlicht unmöglich ?
In der
OH oder in
DP habe ich mit den dollsten Suchbegriffen nix gefunden....
Bin für jeden Tip dankbar, da ich sonst einen MeGa-Case schreiben darf.....
Viele Grüsse,
ST2000