窗口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?