wxWidgets - timer nepracuje, ale vraci, že běží - true
Takto má býti implementován timer dle manuálu:
class MyFrame : public wxFrame
{
public:
...
void OnTimer(wxTimerEvent& event);
private:
wxTimer m_timer;
};
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_TIMER(TIMER_ID, MyFrame::OnTimer)
END_EVENT_TABLE()
MyFrame::MyFrame()
: m_timer(this, TIMER_ID)
{
m_timer.Start(1000); // 1 second interval
}
void MyFrame::OnTimer(wxTimerEvent& event)
{
// do whatever you want to do every second here
}
Já to mám takto:
class MyFrame : public wxFrame
{
public:
...
void OnTimer(wxTimerEvent& event);
private:
wxTimer m_timer;
};
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_TIMER(TIMER_ID, MyFrame::OnTimer)
END_EVENT_TABLE()
MyFrame::MyFrame()
{
tady mam neco jineho
}
MyFrame::Vyvolejtimer()
{
m_timer.Start(1000); // Zahajim casovani timeru kazdou vterinu
if(m_timer.IsRunning())
wxMessageBox("Potvrzuji, ze ten chcipak jede !"); // Toto se provede
}
void MyFrame::OnTimer(wxTimerEvent& event)
{
// do whatever you want to do every second here
wxMessageBox("JEDE !!!"); // Timer spustil funkci toto nefungujeeee !!!!!!!!!!!!!! Sem se nedostane
}
Jak si lze vsimnout mam tam nepatrny rozdil, kompilator nepise chyby zadne, ale funkce, ktera ma probehnout kazdou vterinu se neprovede ani 1x !!!
Nevidite tam nejakou chybu ?