Beim Aufruf von Formularen möchte ich einige Dinge erledigen wie z.B. Datenquellen öffenen und diverse Sachen prüfen, die man für eine einwandfreie Funktion des Formulars benötigt.
Das erledige ich überlicherweise im Ereignis onShow des Forms, da die Formulare von verschiedenen Stellen aufgerufen werden. Wenn ich dabei dann feststelle, dass irgendwas nicht passt möchte ich das Formlar gleich im inshow wieder schliessen. Dazu verwende ich self.close;
Scheinbar führt der Aufruf von close im onShow aber nicht dazu, dass das Formular sich schliesst.
Ansonsten klappt das mit dem self.close ganz gut wenn nicht im onShow steht.
Um dem Problem näher zu kommen habe ich folgendes einfaches Beispiel getestet:
Auch hier bleibt das Form EinstellungForm offen:
Delphi-Quellcode:
procedure TEinstellungForm.FormShow(Sender: TObject);
begin
exitok:=false;
EinstellungForm.close;
end;
Beim Ergeigniss onActivate gehts auch nicht.