Poco 计时器,具有来自同一类的回调



我有一个简单的类,它使用Poco Timer:

MyClass::MyClass(){
Timer timer(250,5000);
TimerCallback<MyClass> callback(*this, &MyClass::onTimer);
timer.start(callback);
}
MyClass::onTimer(){
cout <<"Tick"<<endl;
}

显然,回调初始化的代码不正确。使用 TimerCallback 从同一类 (this( 中调用函数的正确方法是什么?

您可以使用Timer作为MyClass的成员:

MyClass {
//...
Timer timer;
};

然后在初始化列表中构造timer对象以设置Timerctor 的间隔

MyClass::MyClass() : timer(250,5000) { // <--
TimerCallback<MyClass> callback(*this, &MyClass::onTimer);
timer.start(callback);
}

或使用setPeriodicIntervalsetStartInterval

MyClass::MyClass() {
timer.setStartInterval(500);
timer.setPeriodicInterval(2500);
TimerCallback<MyClass> callback(*this, &MyClass::onTimer);
timer.start(callback);
}

最新更新