CListCtrl *pList 重复调用异常issue

wujun_2015 2020-10-23 08:13:53
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;
}

...全文
173 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2020-11-03
  • 打赏
  • 举报
回复
你上面的函数是在哪里调用的?
wujun_2015 2020-10-23
  • 打赏
  • 举报
回复
有人回复一下吗?
zgl7903 2020-10-23
  • 打赏
  • 举报
回复
建议在启动后台线程处理长时间的操作

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧