Code: Select all
mingw32-g++.exe -Wall -DwxUSE_UNICODE -g -D_DEBUG -D__WXDEBUG__ -DWXUSINGDLL -DWIN32 -D__WXMSW__ -D_WINDOWS -DNOPCH -Wall -IC:\wxWidgets\include -Ithird-party\wxSerialize\include\wx -Iinclude -IC:\MinGW\include -c D:\Garage\projekte\blackfisk\trunk\src\BFMsgObserver.cpp -o .out\objs_debd\src\BFMsgObserver.o
D:\Garage\projekte\blackfisk\trunk\src\BFMsgObserver.cpp: In member function `virtual void BFMsgObserver::ValueChanged(Subject*)':
C:/wxWidgets/include/wx/event.h:2895: error: `virtual void wxEvtHandler::AddPendingEvent(const wxEvent&)' is inaccessible
D:\Garage\projekte\blackfisk\trunk\src\BFMsgObserver.cpp:97: error: within this context
Process terminated with status 1 (0 minutes, 4 seconds)
2 errors, 0 warnings
The "context" is
Code: Select all
wxCommandEvent event(wxEVT_COMMAND_MENU_SELECTED, BF_BACKUPPROGRESSDLG_QUESTION);
// message type
event.SetExtraLong (pSys->GetLastType());
// the question
event.SetString (strMsg);
//
BFBackupProgressDlg::Instance()->GetMutex()->Lock();
// send event
BFBackupProgressDlg::Instance()->AddPendingEvent(event);
// want for answer from main-thread/user
BFBackupProgressDlg::Instance()->GetCondition()->Wait();
// get the answer
stop = BFThread_BackupRunner::CurrentlyRunning()->GetUsersStopAnswer();
This is the non-public-missing(!) definition of the class
Code: Select all
class BFBackupProgressDlg : public wxDialog
{
// ....