PC-ShutdownEvent wird nicht richtig aufgefangen von wxProgramm
-
Hallo liebe Forengemeinde,
ich habe folgendes Problem:
Ich habe ein kleines Programm, dass mit Dateien(und deren Handles) jongliert. Es handelt sich dabei um ein C++ wxWidget-Projekt. Nun möchte ich, dass wenn ich den PC herunterfahre, dass das Programm ein paar Aufräumarbeiten macht und sich dann beendet, da sonst der PC immer abstürzt. Hier nun mein Ansatz:App.h
class MyApp : public wxApp //Hauptapplikationsklasse { public: virtual bool OnInit(); protected: void SessionEnd(wxCloseEvent& e) { Frame->OnShutdown(); } private: MyFrame* Frame; DECLARE_EVENT_TABLE(); };
App.cpp
BEGIN_EVENT_TABLE(MyApp,wxApp) EVT_END_SESSION(MyApp::SessionEnd) END_EVENT_TABLE() bool MyApp::OnInit() { //(*AppInitialize bool wxsOK = true; wxInitAllImageHandlers(); if ( wxsOK ) { Frame = new MyFrame(0); SetTopWindow(Frame); } //*) return wxsOK; } IMPLEMENT_APP(MyApp);
OnShutdown ist in der Frame.cpp definiert.
Problem ist nur, dass diese Funktion nie ausgeführt wird. Ich kann allerdings nicht erkennen, ob das System den wxEVT_END_SESSION nicht sendet oder er nicht aufgefangen wird. Auch mit Connect habe ich kein richtiges Ergebnis erhalten.Bedanke mich schonmal im voraus