线程中for循环无规律乱走

patrick_880520 2011-11-15 11:34:34
for(g=0;g<7;g++)
{
CString downloadLog=L"";
cProgress.Format(L"%d",g);
cProgress=cProgress+L"/"+L"7";

SendMessage(pdlg->m_hWnd,WM_UI_INSERTCOL,0,0);

Result=GetDosResult(fastboot[g]);

SendMessage(pdlg->m_hWnd,WM_UI_SHOWLISTBOX,0,0);
if(Result.Find(L"OKAY")==-1)
{
cProgress=L"Download fail";
SendMessage(pdlg->m_hWnd,WM_UI_INSERTCOL,0,0);
return 0;
}
}
这段代码是在线程中,我跑了很多次,大多数情况下没走到if判断语句就直接回到for循环开始并且g没有+1,接下来往下跑,GetDosResult(fastboot[g]),或者sendmessage(UI操作的消息)可能连续执行两次,导致UI显示乱了,有谁来分析下原因呢
...全文
55 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
patrick_880520 2011-11-15
  • 打赏
  • 举报
回复
这个贴怎么多发了- -
Eleven 2011-11-15
  • 打赏
  • 举报
回复
你是多线程吧~

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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