关于TEvent::WaitFor()
一线程:
void __fastcall TMyThread::Execute()
{
//---- Place thread code here ----
for(int i=0;i<10000;i++);
Event1->SetEvent();
}
主线程:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TEvent *Event1=new TEvent(NULL,false,false,NULL);
Event1->ResetEvent();
TMyThread *mythread=new TMyThread(false);
if((Event1->WaitFor(1000))==wrSignaled)
{
ShowMessage("thread is stopped");
}
}
测试目的:button1按下,启动线程,当i到达1000时setevent,waitfor()函数返回wrSignaled,显示一个消息。但程序执行老在waifor()上出错,怎么回事?如何解决?