Einzelnen Beitrag anzeigen

Z4ppy

Registriert seit: 25. Apr 2008
269 Beiträge
 
Delphi 7 Enterprise
 
#1

Schliessen verhindern - und später wieder erlauben

  Alt 25. Apr 2008, 20:59
Ich hab nen SplashScreen, während der angezeigt wird, soll das Programm (und damit der SplashScreen) nicht schliessbar sein, der TaskManager sollte das ebenfalls nicht können.
Wird dann die Hauptform angezeigt und das Programm über einen Button dieser Hauptform beendet (es gibt einen Exit-Button), dann soll auch der SplashScreen geschlossen werden...

Ich hab das mit dem unschliessbar mit CanClose:=false; beim OnCloseQuery-Event gelöst, allerdings kann der TaskManager den Prozess immer noch killen. Ausserdem: Wenn ich dann in der Hauptform auf Exit klicke, dann wird das Programm nicht beendet, da die Form2 nicht geschlossen werden kann (wegen dem CanClose:=false)... Wie kann ich CanClose wieder auf true setzen, sobald die Hauptform angezeigt wird? Ich habe mehreres ausprobiert, es geht aber nich

Nun mal paar Codeschnipsel:
Das anzeigen der Hauptform (wird mit einem Timer im SplashScreen geregelt):
Delphi-Quellcode:
Application.CreateForm(TForm1, Form1);
Form1.ShowModal;
Das Hiden des SplashScreens (OnCreate der Hauptform):
Form2.Hide; Wie kann ich nun beim OnClose-Ereignis der Hauptform den SplashScreen closen?

MfG Z4ppy

Edit: Noch etwas hab ich hinzuzufügen: Das mit dem TaskManager muss nur auf XP funktionieren, da das Programm schon so eingerichtet wurde, dass es eh nur unter XP geht Es ist also wichtig, dass der TaskManager von XP das Programm nicht killen kann...
  Mit Zitat antworten Zitat