Unsere Anwendung verwendet 'MDI' (mit den meisten der in TForm Descedants behobenen Probleme). In den meisten Formularen, wenn die Daten geändert wurden, verweigert sie das Schließen (mithilfe von closequery) und fordert den Benutzer zum Speichern oder Abbrechen auf. Das funktioniert gut.Wie bekomme ich MDIMain Formular, um Anwendung zu erhalten, schließen Sie Nachricht vor mdichild Formen
Aber im Gegensatz zu anderen Menschen möchte ich dies überspringen, wenn die Anwendung stirbt. Dies könnte daran liegen, dass der Benutzer auf die X auf der MainForm geklickt hat. Ich möchte nur die Anwendung zu sterben - keine Speicherung von Daten usw.
Das Problem ist, dass die CloseQuery der MainForm nach all den mdichild Formen ausgelöst wird. Ich habe wm_close, wm_quit und sogar windproc im MainForm ausprobiert. Aber sie feuern nicht rechtzeitig.
Wenn ich eine FormcloseQuery im Mdichild bekomme ich keine Möglichkeit zu wissen, ob das Formular vom Benutzer getötet wird oder wenn es die Anwendung ist, die getötet wird.
Sicher gibt es eine einfache Möglichkeit, dies zu tun. Was habe ich verpasst?
zeigen Ihnen, wie Sie damit umgehen WM_CLOSE in deiner Hauptform –
@ken es ist MS, zurück compat ist König, funktioniert wie immer, flüstere es, aber meine App ist mdi ..... –
@David: Ja, ich weiß. Hast du das nicht am Ende gesehen? –