eventhandler委托

时间:2017-05-31 14:50:34

标签: delegates c++-cx

我正在尝试使用以下代码创建一个定时事件:

// SET UP A TIMER INTERVAL TO POLL INSTRUMENTS ONCE EVERY SECOND
DispatcherTimer^ timer = ref new DispatcherTimer;

timer->Tick += ref new Windows::Foundation::EventHandler<Object^>(this, &MainPage::Request_Data);

TimeSpan t;
t.Duration = 1000;
timer->Interval = t;
timer->Start();

我在这一点上收到错误,特别是&amp;

timer->Tick += ref new Windows::Foundation::EventHandler<Object^>(this, &MainPage::Request_Data);

错误无效的委托初始化程序 - 函数与委托类型不匹配。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好的,所以我传递给要调用的EventHandler的函数丢失了一些。

所以我把这个函数声明为:

void MainPage::Request_Data(){

... stuff

}

应该声明为:

void MainPage::Request_Data(Platform::Object^ sender, Platform::Object^ e){

... stuff

}