關於WaitForSingleObject的問題 |
尚未結案
|
tigerliu
一般會員 發表:3 回覆:0 積分:0 註冊:2004-08-11 發送簡訊給我 |
各位大大好,小弟寫了一個thread的程式要用的時候發生一些問題各位大大如果知道的煩請指導一下程式如下,我想要如果在時間內接收完資料就馬上秀出資料不然就一直到時間結束,但是我這程式執行解果卻是她會一直等到時間結束在去執行thread,不知道各位大大可以幫忙一下嗎謝謝
主程式: { mTimer=new TMyTimer(false); mTimer->Resume(); //啟動thread監看資料 GetDataEvent=CreateEvent(NULL,true,false,NULL); GetTimeOut(); //叫出一個form輸入一個timeout的值給全域變數InitTimeValue if(WaitForSingleObject(GetDataEvent,InitTimeValue)==WAIT_TIMEOUT) {//當超過時間但是資料尚未接收到時time out MessageBox("Time out"); return 0; } //如果在時間內資料已收到利用showresult秀出結果 ShowResult(mData1,mData2,mData3,mData4); MessageBox("Success"); return 1; } Thread: __fastcall TMyTimer::TMyTimer(bool CreateSuspended) : TThread(CreateSuspended) { FreeOnTerminate=true; Priority=tpNormal; } void __fastcall TMyTimer::Execute() { for(;;) { if(Terminated) { break; } ....... //以下為一接資料之程式 SetEvent(GetDataEvent); //取完資料設定event } } |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |