求助,AfxBeginThread 创建的线程,为何执行的顺序有问题呢?
本帖最后由 VisualEleven 于 2013-06-18 15:21:31 编辑
UINT CSTLViewerDoc::ReadProcessTry10(LPVOID pParam)
{
CReadProcessDlgread_dlg;
read_dlg.DoModal();
//exit(0);
return0;
}
void CSTLViewerDoc::OnStlFilein()
{
CFileDialog dlg(TRUE,"stl",NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"Stereo Lithograpic File(*.stl)|*.stl", NULL );
if(dlg.DoModal()==IDOK){
CWinThread*lpThread = NULL;
//我调用的地方,为了创建一个进度条的对话框
lpThread = AfxBeginThread(ReadProcessTry10, NULL, THREAD_PRIORITY_HIGHEST);
//lpThread->ResumeThread(); //这个打开也试过
CSTLModel* pSTLModel = new CSTLModel();
CString strName = dlg.GetPathName();
pSTLModel->LoadSTLFile(strName);
if(pSTLModel->IsEmpty())
delete pSTLModel;
else
m_Part.AddEntity(pSTLModel);
UpdateAllViews(NULL);
}
}