+ -
当前位置:首页 → 问答吧 → 非模态对话框中加多线程函数的问题

非模态对话框中加多线程函数的问题

时间:2011-12-11

来源:互联网

我在非模态对话框中一个button的响应函数里面加入如下代码:
CWinThread *pThreadBPT;
  CDlgBPT * pdlgPBT = this;
  pThreadBPT = AfxBeginThread( (AFX_THREADPROC)::CreateBPT, (LPVOID)pdlgPBT);
来防止主程序无响应的问题,但是函数运行结束后却总是出错,请问高手这是怎么回事啊?
出错后调试问题出在wincore.cpp文件中的
CWnd* PASCAL CWnd::FromHandlePermanent(HWND hWnd)
{
CHandleMap* pMap = afxMapHWND();
CWnd* pWnd = NULL;
if (pMap != NULL)
{
// only look in the permanent map - does no allocations
pWnd = (CWnd*)pMap->LookupPermanent(hWnd);
ASSERT(pWnd == NULL || pWnd->m_hWnd == hWnd);
}
return pWnd;
}
断言中后面一个判断。

作者: lfkupc   发布时间: 2011-12-11

楼主自己写的代码能不能再详细一点,从哪里开始进入wincore.cpp文件的?

作者: hnwyllmm   发布时间: 2011-12-12

热门下载

更多