Hallo Susanne,
ohne Kommentar zu deinem Vorhaben hier eine technische Lösung für das Arbeiten mit Forms unter Benutzerkontrolle, wobei die Forms erst dann instanziiert werden, wenn sie gebraucht werden. Die automatische Instanziierung in den Projektoptionen abschalten und folgenden Code (angepasst an deine Verhältnisse) in die Form-Units einfügen:
Delphi-Quellcode:
...
initialization
RegisterClass(TForm2);
finalization
UnregisterClass(TForm2);
end.
Im Hauptformular (dem mit der Listbox) kannst du dann so vorgehen:
Delphi-Quellcode:
var
fName: string;
fClass: TFormClass;
f: TForm;
begin
fName := 'Form2';
fClass := TFormClass(Classes.GetClass('T' + fName));
if Assigned(fClass) then begin
Application.CreateForm(fClass, f);
f.ShowModal;
f.Free;
end else
ShowMessage('oops!')
end;
Grüße vom marabu