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显示乱了,有谁来分析下原因呢