CListCtrl * pList=(CListCtrl*)GetDlgItem(IDC_LISTRESULT);
CStatic *pStatic=(CStatic*)GetDlgItem(IDC_STATICDUTINF);
在重復呼叫CListCtrl和Static指標時出現程式例外退出,程式畫面會出現轉圈卡死.
BOOL TestDlg::_checkDUTLabels()
{
int iter=0;
clock_t start, finish;
float duration=0;
start = clock();
CString str;
CListCtrl * lst=(CListCtrl*)GetDlgItem(IDC_LISTRESULT); //重復呼叫_checkDUTLabels這一步會出現崩潰
CStatic *staticinf=(CStatic*)GetDlgItem(IDC_STATICDUTINF); //重復呼叫_checkDUTLabels這一步會出現崩潰
while(1)
{
if (/*TRUE == _ScanLables &&*/ (_rev_com.Find("Welcome to the BrightSign")!=-1 || _rev_com.Find("BrightSign>") != -1))
{
Add2Log("step5, find brightsign ok \r\n",RGB(255,0,0));
break;
}
Sleep(3000);
if (iter++>40)
{
finish = clock();
duration = (float)(finish - start)/CLOCKS_PER_SEC;
str.Format("%fs",duration);
m_strLog += "TIMEOUT test [fail] " + str + "\r\n";
lst->SetItemText(resline,2,str);
str.Format("TIMEOUT###NA###NA###fail\r\n");
m_strSFC +=str;
m_strErrCode="TIMEOUT\r\n";//Check LED Blink Fail
lst->SetItemText(resline++, 3, "FAIL");
lst->SetTextColor(RGB(128, 0, 0));
staticinf->SetWindowText("error code: TIMEOUT");
return FALSE;
}
}
GetDlgItem(IDC_STATICTESTINF)->SetWindowText("DUT Testing...");
return TRUE;
}
uj5u.com熱心網友回復:
有人回復一下嗎?uj5u.com熱心網友回復:
建議在啟動后臺執行緒處理長時間的操作轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/188202.html
標籤:基礎類
