首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

窗口DestroyWindow时错误

2012-03-21 
窗口DestroyWindow时异常!在运行DestroyWindow消毁窗口时,出现断言异常位置在DestroyWindow函数中,文件win

窗口DestroyWindow时异常!
在运行DestroyWindow消毁窗口时,出现断言异常
位置在DestroyWindow函数中,文件wincore.cpp的1008行:
if   (hWndOrig   !=   NULL)
{
//   Note   that   'this '   may   have   been   deleted   at   this   point,
//     (but   only   if   pWnd   !=   NULL)
if   (pWnd   !=   NULL)
{
//   Should   have   been   detached   by   OnNcDestroy
#ifdef   _DEBUG
ASSERT(pMap-> LookupPermanent(hWndOrig)   ==   NULL);
#endif
}
else
{
#ifdef   _DEBUG
ASSERT(m_hWnd   ==   hWndOrig);//   异常点
#endif
//   Detach   after   DestroyWindow   called   just   in   case
Detach();
}
}

这个异常在DEBUG版本中出现,其它的程序中也使用了CWnd类,但是在DestroyWindow时,都是正常的,只有这个程序会出现在这个问题。
请问各位,这个断言异常出现的原因是什么?怎样才能避免这种情况出现?

[解决办法]
m_hWnd == hWndOrig

句柄被Attach,Detach或destroy了?
[解决办法]
很怪异啊
[解决办法]
是否在窗口销毁之前,该窗口已经损毁掉了?
[解决办法]
DestroyWindow是在释放dll时系统自动调用的还是你人工调用的?
那个dll只给自己的程序用还是用作全局hook?

热点排行