1.視窗延時
現象描述:如果需要在某個視窗執行完任務後延時,不要在當前視窗建立定時器延時,在當前視窗建立定時器時當前視窗仍為活動視窗,wm_refresh如果有任務仍在重新整理,要注意,問題的根源很有可能出現在這裡,如果wm_refresh沒有任務則一切正常,如果有則很有可能出現問題。
解決方案:新建乙個視窗windelay處理延時,避免當前視窗重新整理為動作視窗重新整理任務引發不必要的問題
2.錯誤**返回+額外動作
現象描述:需要在發生某個錯誤後附加額外動作或處理急停等事宜
解決方案:新開乙個視窗處理急停+額外動作,注意返回時不走正常流程返回,走wm_emergency_stop或wm_alarm_code返回。
解決例項:穿梭板在取貨時發生錯誤但是必須先返回原點才能報錯,則開啟win_except_recall異常處理召回視窗,處理動作+返回錯誤**
3.需要返回錯誤**但又不能影響正常流程
現象描述:需要返回錯誤但又不便打斷當前任務時必須返回錯誤**
//走無貨可取回原點在info附帶報警資訊
serrorcode = walk_over_distance;
closewindow(main_task);
(*activewindowproc(main_task))(wm_ext_adj_tray_return, ext_pick_no_tray,(u8*)&serrorcode,sys_win_work_ext_adj_tray,0);
//走錯誤報警返回
closewindow(main_task);
(*activewindowproc(main_task))(wm_ext_s_fuc_return,scycle<<8 | wm_ext_s_quit_no_tray,sinfo,sys_win_rmt_manger_ext_s,0);
//報警視窗處理
u8 win_alarm(u16 halarmcode, byte *info)
else
}
關於彈出訊息視窗的自動關閉
1.方法1 1.1.直接在 中新增 彈出訊息視窗自動關閉,需要指出的是,windows 2000的user32.dll沒有匯出這個函式。extern c ifdef unicode define messageboxtimeout messageboxtimeoutw else define mes...
關於滑動視窗協議的筆記
滑動視窗協議 還可以看我的另一篇部落格,有更詳細的介紹 屬於tcp協議中的一種應用,用於網路資料傳輸時的流量控制,以避免擁塞的發生。該協議允許傳送方在停止並等待確認前傳送多個資料分組。由於傳送方不必每傳送乙個分組就停下來等待確認,所以該協議可以加速資料的傳輸,提高網路吞吐量。tcp利用乙個滑動的視窗...
視窗訊息的傳遞(二)
本文根據codeproject的一片文章翻譯 當乙個視窗接收到某個訊息後,mfc將呼叫類的成員函式。但是mfc如何知道該呼叫哪個函式呢?為了解決上述問題,mfc運用了乙個叫做訊息對映 message map 機制。訊息對映就是將訊息和所要呼叫的函式繫結在一起。一旦接受到乙個訊息,mfc將進入訊息對映...