VC 在线程内 DoModel一个对话框为什么报错?

 我来答
小止学编程
2011-07-06 · TA获得超过133个赞
知道答主
回答量:74
采纳率:0%
帮助的人:89.6万
展开全部
要使用MFC线程,即AfxBeginThread创建的线程,这样它会自动帮你初始化一下资源,DoModal就不会保错了
追问
这样它会自动帮你初始化一下资源

能具体说名初始化什么资源吗? 因为我不想用MFC线程, 可以的话我自己应该也可以初始化这些资源的,对吧?
追答
CWinThread* AFXAPI AfxBeginThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam,
int nPriority, UINT nStackSize, DWORD dwCreateFlags,
LPSECURITY_ATTRIBUTES lpSecurityAttrs)
{
#ifndef _MT
pfnThreadProc;
pParam;
nPriority;
nStackSize;
dwCreateFlags;
lpSecurityAttrs;

return NULL;
#else
ASSERT(pfnThreadProc != NULL);

CWinThread* pThread = DEBUG_NEW CWinThread(pfnThreadProc, pParam);
ASSERT_VALID(pThread);

if (!pThread->CreateThread(dwCreateFlags|CREATE_SUSPENDED, nStackSize,
lpSecurityAttrs))
{
pThread->Delete();
return NULL;
}
VERIFY(pThread->SetThreadPriority(nPriority));
if (!(dwCreateFlags & CREATE_SUSPENDED))
VERIFY(pThread->ResumeThread() != (DWORD)-1);

return pThread;
#endif //!_MT)
}

看看MFC源码,自己弄就全部复制
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式