线程 执行 主函数 的问题?

wang7890 2008-11-20 04:17:21
我创建了一个基于对话框的MFC程序。

在 CAADlg 中定义了一个函数,如下:
void XXXX();

void CAADlg::XXXX()
{
for(int i=0; i<10; i++)
{
AfxMessageBox("ssssssss");
}
}

在 CAADlg.cpp 头部 定义了一个线程函数,
UINT XXXXXThread(LPVOID lpParameter);

UINT ImageSegThread(LPVOID lpParameter)
{
///-----------------------
// 如何在这里调用 XXXX()
///-----------------------
return 0;
}

如何在线程函数中调用 XXXX(), 请大家赐教!谢谢!
...全文
73 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
我是苦力 2008-11-20
  • 打赏
  • 举报
回复
和不是多线程一样用的,不过要注意同步的问题。


ma100 2008-11-20
  • 打赏
  • 举报
回复
直接 GetDlgItem
wang7890 2008-11-20
  • 打赏
  • 举报
回复
有一个问题就是,

我在 XXXX()函数中 无法 对窗口中的控件 的值 进行刷新显示。 请问如何解决

void CAADlg::XXXX()
{
m_strSegResult = "目前无切割文件...";
UpdateData(FALSE); // 程序运行到这里就崩溃了
}
ma100 2008-11-20
  • 打赏
  • 举报
回复
CAADlg*pDlg=(CAADlg*)lpParameter;
pDlg->XXXX();

AfxBeginThread(XXXXXThread,this,THREAD_PRIORITY_NORMAL);
oakfire 2008-11-20
  • 打赏
  • 举报
回复
传进CAADlg的指针。
wang7890 2008-11-20
  • 打赏
  • 举报
回复
CWinThread *pMyFirstWorker;
pMyFirstWorker = AfxBeginThread((AFX_THREADPROC)ImageSegThread, this);
这样就可以了

15,471

社区成员

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

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