Vielen Dank für die Antworten. Diese Lösung hatte ich mir vorher auch schon überlegt.
Nur wollte ich sicher gehen ob man im onshow Ereignis nicht das Form schliessen kann. Schneinbar nicht, oder weiss da jemand definitiv. Es wäre die elegantere Methode gewesen.
Ich gebe bei der Lösung dann noch eine Schritt weiter und bastel für das Form eine Funktion start, die die Initialisierung übernimmt und bei Erfolg das Fromular modal aufruft. Leider muss man bei der Lösung immer dran denken das Form mit start aufzurufen und nich mit showmodal.
Delphi-Quellcode:
procedure TMainForm.BtnAdminClick(Sender: TObject);
begin
Application.CreateForm(TEinstellungForm, EinstellungForm);
EinstellungForm.Start;
EinstellungForm.Release;
EinstellungForm:=nil;
end;
Function TEinstellungForm.Start : boolean;
begin
result:=true;
exitok:=false;
// bei fehler
result:=false;
if result then
self.showmodal;
end;