Autor Beitrag
Andreas Pfau
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: Fr 13.06.03 18:50 
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?

_________________
Life is a bad adventure, but the graphic is really good!
O'rallY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: 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 :?

_________________
.oO'rallY
Linux is like a tipi: No gates, no windows and a gnu-eating apache inside...
Andreas Pfau Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 997



BeitragVerfasst: 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

_________________
Life is a bad adventure, but the graphic is really good!