![]() |
[ERLEDIGT] Modales Fenster lässt sich nicht schließen
Hallo!
Es ist wie verhext. Schon wieder stecke ich bei einem eigentlich "simplen" Problem fest. Ich rufe aus meinem Hauptfenster das Fenster "Form_Einlesen" über ShowModal auf. Nach dem Anzeigen soll zum Einlegen eines Datenträgers aufgerufen werden, bis dieser gefunden wurde ODER beim MessageDlg auf "Abbrechen" geklickt wird. In diesem Fall soll das modale Fenster geschlossen werden, leider tut sich nichts... Hier der Code:
Delphi-Quellcode:
Die Prozedur arbeitet im Prinzip korrekt: Setze ich statt "ModalResult := ..." ein "ShowMessage(...)" ein, wird dieses korrekt angezeigt.
procedure TForm_Einlesen.FormActivate(Sender: TObject);
VAR Ergebnis : Integer; begin { Hilfsvatiable initialisieren } Ergebnis := 0; { "Datenträger einlegen..." anzeigen } while not ((DirectoryExists(AdvFileSearch.StartDir)) or (Ergebnis = -1)) do Begin if MessageDlg('Bitte Datenträger einlegen', mtInformation, [mbok, mbCancel], 0) = mrCancel then Ergebnis := -1; End; { Wenn Abbrechen geklickt, dann Fenster schließen } if Ergebnis = -1 then Begin; ModalResult := mrAbort; End Else ShowPics; end; Hoffe Ihr könnt mir helfen... SCRaT EDIT: Einige Rechtschreibfehler / Komponenten-Namen korrigiert... |
Re: Modales Fenster lässt sich nicht schließen
Hallo Michael,
ich würde ein anderes Ereignis für diese Aktionen wählen, OnActivate() und das Setzen von ModalResult scheinen keine gute Kombination zu sein. Grüße vom marabu |
Re: [ERLEDIGT] Modales Fenster lässt sich nicht schließen
Danke, genau das habe ich soeben doch noch im Netz gefunden :-)
Folgendes funktioniert auch bei OnActivate problemlos:
Delphi-Quellcode:
Thanx :-)
PostMessage(Form1.Handle, WM_CLOSE, 0, 0);
SCRaT |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz