@bcvs
Ich dachte halt es geht eleganter. So muss ich bei jeder neu hinzukommenden Form auch die Abfrage anpassen... das wollte ich umgehen
dann nimm eine TClassLIst (aus contnrs) und fülle die beim Programmstart mit allen relevanten Formularen
Delphi-Quellcode:
Liste := TClassList;
Liste.Add(TFormXYZ);
-...
wenn Du nun ein bestimmtes Formular suchst:
Delphi-Quellcode:
function FOrmErzeugen(AFormularName: String): TForm;
var
FormClass: TFormClass;
idxForm: Integer;
begin
FormClass := nil;
for idxForm := 0 to Liste.Count -1 do
begin
if Liste.Item[idxForm].ClassName = AFormularName then
FormClass := Liste.Item[idxForm]
end;
if Assigned(FOrmClass) then
result := FormClass.Create(Application)
else
....
Und wenn dir das ständige Durchlaufen der ClassList zu langsam ist, dann sortiere die Liste nach den Namen, dann kannst Du schneller suchen....
Nachtrag: Wenn Du ein aktuelleres Delphi hast, kannst Du hier auch mit einer generischen Liste arbeiten....