Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by BerndS,
16. Nov 2021
Ich habe noch eine Typenprüfung hinzugefügt:
uses
System.TypInfo;
...
procedure TForm1.bt1Click(Sender: TObject);
var
F: TPersistentClass;
D:TForm;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by BerndS,
16. Nov 2021
Hier ein einfaches Beispiel:
procedure TForm1.bt1Click(Sender: TObject);
var
F: TPersistentClass;
D:TForm;
begin
F := FindClass('TForm2');
if Assigned(F) then
begin
Application.CreateForm(TComponentClass(F) , D);
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by BerndS,
16. Nov 2021
Das wäre die Funktion, die anhand des Tabellennamens die Klassse des zu erstellenden Formulars zurück gibt.
Entweder man kodiert das hart oder registriert in einer TList/TDictionary die Formualrtypen und durchsucht diese.
Wenn man nichts findet, könnte es eine Standard geben.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by BerndS,
15. Nov 2021
Ich habe das mal schnell hingetippt ohne zu testen. Aber so in etwas würde ich das machen, wobei die Funtion GetMainFormClass die entsprechende Formclass ermitteln müsste.
type
TMainFormClass = class of TMainForm;
...
var
FC: TMainFormClass ;
F: TMainForm;
begin
FC := GetMainFormClass(TableName);