Witam,
Mam problem z przekazaniem danych obiektu do event'u, dane w event sa nieprawidłowe (tylko dla wersji release, dla debug działa ok), oto wycinek definicji klasy :
class Chat : public wxPanel {
wxFont *chatFont;
int i;
public:
void render(wxPaintEvent& evt);
Chat(wxWindow *parent);
~Chat();
};
Chat::Chat(wxWindow *parent):
wxPanel(parent,wxID_ANY,wxDefaultPosition,wxDefaultSize) {
i = 0xDEAD;
panel->Connect(wxEVT_PAINT, wxPaintEventHandler(Chat::render));
}
void Chat::render(wxPaintEvent& evt) {
if (i!=0xDEAD) MessageBoxA(NULL, "zla wartosc", "test", MB_OK);
< kod renderu >
}
w takiej wersji na debug działa bez zarzutów, dla release wywale messagebox, jak zmienie
panel->Connect(wxEVT_PAINT, wxPaintEventHandler(Chat::render));
na
panel->Connect(wxEVT_PAINT, wxPaintEventHandler(Chat::render), NULL, this);
To już nie wyświetla messageboxa ale wyswietla jedynie czarny ekran.
Co robię nie tak?