Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Fesnter öffnen - Prozedur() - Schließen???


Andreas Pfau - Fr 13.06.03 18:50
Titel: Fesnter öffnen - Prozedur() - Schließen???
Hallo,

ich will ein Fenster, das während einer längeren Prozedur modal angezeigt wird. Also habe ich diesen Code in TForm.OnActivate reingeschreiben. Danach soll das Fenster aber wieder schließen, nur macht es das nicht, da Delphi verhindert, dass ein Fenster direkt nach dem aktivieren geschlossen wird. Jetzt habe ich einen Timer eingebaut, der 1ms nach beenden der Prozedur das Fenster schließt.

Gibt es denn da keine professionellere Lösung für?


O'rallY - Fr 13.06.03 19:10

Setzt die 2. Form auf Topmost bzw. den Style auf fsStayOnTop und disable die Form (2. Form nicht Modal anzeigen lassen!), in der die Prozedur abläuft. Wenn die Prozedur fertig ist, kannst du einfach die 2. Form wieder schließen und Form 1 wieder enablen.
Außerdem: Wenn du eine ander Form Modal öffnest, kann eigentlich gar keine Abarbeitung in der aufrufenden Form(-Unit) stattfinden :?


Andreas Pfau - Fr 13.06.03 19:53

Hallo,

sorry, hab' mich da doof ausgedrückt... die Abarbeitung ist in Form2.OnActivate(). Die WIRD ausgeführt.

Aber deine Methode hört sich gut an. Danke für deine Hilfe! :D