Ошибка в wxwidgets в Windows

Когда я создаю простое приложение с wxFRAME_NO_TASKBAR | wxBORDER_NONE как показано ниже

#include <wx/wx.h>class Simple : public wxFrame

class Simple : public wxFrame
{
public:
Simple(const wxString& title);

};Simple::Simple(const wxString& title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250,     150),wxFRAME_NO_TASKBAR | wxBORDER_NONE)
{
Centre();
}class MyApp : public wxApp
{
public:
virtual bool OnInit();
};IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
Simple *simple = new Simple(wxT("Simple"));
simple->Show(true);

return true;
}

Когда я пытаюсь выключить компьютер во время работы этого приложения, он показывает «Инструкция по адресу 0x00780065 ссылается на память по адресу 0x00780065 Память не может быть записана».

Чтобы предотвратить выход из системы, вы можете сделать следующее
Запустите блокнот и наберите что-нибудь. Затем запустите скомпилированную программу. Затем попробуйте выйти из системы. Вы увидите ошибку. Когда блокнот спросит, хотите ли вы сохранить, ничего не делайте. Через несколько секунд появится окно с возможностью принудительного выхода из системы. Нажмите Отмена. Таким образом, вы можете повторить проблему, не выходя из системы.

3

Решение

Я думаю, что вам нужно справиться с закрытием мероприятия.

http://docs.wxwidgets.org/trunk/classwx_close_event.html

Обратите особое внимание на обсуждение EVT_END_SESSION

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]