Reentrant的問題 |
答題得分者是:aftcast
|
pluto0327
一般會員 ![]() ![]() 發表:2 回覆:0 積分:0 註冊:2004-08-24 發送簡訊給我 |
想請教的問題是
我在視窗點選元件觸發 FilterClick(), 程式在Funciton()中 我又持續觸發 FilterClick 這裡視窗的觀念是怎麼樣? Message loop目前是什麼情況呢? 麻煩解惑 謝謝 void __fastcall TfrmLight::FilterClick(TObject *Sender) { Function() ; } void Function() { Action_WaitTime(10); // to do something } void __fastcall TfrmRecipeLight::Action_WaitTime(int sec) { DWORD nCurrentTime = GetTickCount(); DWORD WaitTime = sec* 1000; while(true) { if(GetTickCount() - nCurrentTime > sec) break; Application->ProcessMessages(); } } |
aftcast
站務副站長 ![]() ![]() ![]() ![]() ![]() 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
1/ 時間未到時 (-> FilterClick() -> Function-> Application->ProcessMessages() ->mouse…->keyboard…->其他事件等處理函式…… 2/ 時間到了 (紅色部份) 紅的就不見了,然後剩藍的與黑的 -> FilterClick() -> Function-> Application->ProcessMessages() "真"平行處理時才有reentrant的問題。 ===================引 用 pluto0327 文 章=================== 想請教的問題是 我在視窗點選元件觸發 FilterClick(), 程式在Funciton()中 我又持續觸發 FilterClick 這裡視窗的觀念是怎麼樣? Message loop目前是什麼情況呢? 麻煩解惑 謝謝 void __fastcall TfrmLight::FilterClick(TObject *Sender) { Function(); } void Function() { Action_WaitTime(10); // to do something } void __fastcall TfrmRecipeLight::Action_WaitTime(int sec) { DWORD nCurrentTime = GetTickCount(); DWORD WaitTime = sec* 1000; while(true) { if(GetTickCount() - nCurrentTime > sec) break; Application->ProcessMessages(); } }
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
aftcast
站務副站長 ![]() ![]() ![]() ![]() ![]() 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
你好,
不確定你是否看到我最後修正的內容,所以再回覆一次! ===================引 用 aftcast 文 章=================== 1/ 時間未到時 (-> FilterClick() -> Function-> Application->ProcessMessages() ->mouse…->keyboard…->其他事件等處理函式…… 2/ 時間到了 (紅色部份) 紅的就不見了,然後剩藍的與黑的 -> FilterClick() -> Function-> Application->ProcessMessages() "真"平行處理時才有reentrant的問題。
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |