Anwendung stürzt ab, bei Schließen über Taskbar-Kontextmenü



  • Hallo Community,

    der Titel des Threads sagt im Prinzip schon alles.
    Beim Verusch meine Anwendung über einen Rechtsklick auf die Taskbar, und anschließendem Klick auf schließen im Kontextmenü der Taskbar, zu beenden, stürzt die Anwendung ab.
    Ein Ansatzpunkt wäre die entsprechende Windows-Nachricht in der Anwendung zu behandeln, nur leider weiß ich nicht, welche Windows-Nachricht das wäre.

    Für Tipps und Denkanstöße bin ich wie immer dankbar.

    Liebe Grüße,

    Jas


  • Mod

    WM_SYSCOMMAND SC_CLOSE, das löst in der Folge WM_CLOSE aus.

    Ist aber kein Unterschied, wie links oben in der Ecke das Systemmenu zu öffnen und Close zu klicken.



  • Hallo Martin,

    ich verwende in der Anwendung ein eigenes Menu, dessen Callbacks in der MainFrame-Klasse der Anwendung behandelt werden. Der Versuch die Anwendung über das Taskbar-Kontextmenü zu beenden wird aber nicht an den OnClose-Callback der MainFrame-Klasse weitergeleitet. Welchen Mechanismus müsste ich denn einbauen um das Verhalten dahingehend zu korrigieren?

    Grüße,

    Jas



  • Hallo Community,

    inzwischen habe ich Entwicklungsumgebung auf ein Windows 7 System portiert. Und siehe da, jetzt zeigt die Anwendung das von Martin beschriebene Verhalten und ruft ordnungsgemäß den OnClose()-Callback der MainFrm-Klasse auf.
    Leider ist das Verhalten auf Windows XP Systemen immer noch fehlerhaft. Wie könnte man dem Fehler auf die Spur kommen?

    Für Ideen bin ich wie immer dankbar.

    Liebe Grüße,

    Jas



  • Hallo Community,

    inzwischen konnte das Problem behoben werden.

    Wie in meinem zweiten Post bereits erwähnt verwende ich in der Anwendung ein eigenes Menü, welches unter anderem das Einhängen der aktuell geöffneten MDI-Fenster der Anwendung in das Menü unterbindet.
    Dies geschieht im OnInitMenuPopup()-Callback der MainFrame-Klasse.
    Innerhalb dieses Callbacks war eine fehlerhafte Implementierung für eine Endlosschleife verantwortlich. Da nun der OnInitMenuPopup()-Callback der MainFrame-Klasse auch aufgerufen wird, wenn man die Anwendung über die Taskbar schließen möchte, kam es folglich zum Absturz.

    Liebe Grüße,

    Jas


Anmelden zum Antworten