主题:读取大量数据时,这样实现进度显示是否会出问题?
[code=c]
……
UINT MyWordThread(LPVOID pParam)//读取大量数据模拟过程
{
CProgress *Pgdlg=(CProgress*)pParam;
while (PgValue<=100) {
PgValue++;
Pgdlg->m_Progress.SetPos(PgValue);//显示进度
Sleep(500);
}
Pgdlg->EndDialog(0);
return 0;
}
void CSDIPrintView::OnEditPropress()
{
CProgress dlg;
AfxBeginThread(MyWordThread,&dlg);//创建读取数据模拟线程
dlg.DoModal();//显示进度对话框
}
……
[/code]
这样实现进度显示,会不会出现我的线程早已工作了,但我的进度显示对话框还没有初始化显示出来,造成错误???
……
UINT MyWordThread(LPVOID pParam)//读取大量数据模拟过程
{
CProgress *Pgdlg=(CProgress*)pParam;
while (PgValue<=100) {
PgValue++;
Pgdlg->m_Progress.SetPos(PgValue);//显示进度
Sleep(500);
}
Pgdlg->EndDialog(0);
return 0;
}
void CSDIPrintView::OnEditPropress()
{
CProgress dlg;
AfxBeginThread(MyWordThread,&dlg);//创建读取数据模拟线程
dlg.DoModal();//显示进度对话框
}
……
[/code]
这样实现进度显示,会不会出现我的线程早已工作了,但我的进度显示对话框还没有初始化显示出来,造成错误???