当关闭一个MFC程序时(点击右上角的叉叉),出现Debug Assertion Failed!的提示。程序其他时候跑的挺好,就是关闭这一下出现这个bug。找到弹出assertion位置的代码如下:CCmdTarget::~CCmdTarget()
{
#ifndef _AFX_NO_OLE_SUPPORT
if (m_xDispatch.m_vtbl != 0)
((COleDispatchImpl*)&m_xDispatch)->Disconnect();
ASSERT(m_dwRef <= 1);//就是这里!!!
#endif
#ifdef _AFXDLL
m_pModuleState = NULL;
#endif
}
MFCbug
{
#ifndef _AFX_NO_OLE_SUPPORT
if (m_xDispatch.m_vtbl != 0)
((COleDispatchImpl*)&m_xDispatch)->Disconnect();
ASSERT(m_dwRef <= 1);//就是这里!!!
#endif
#ifdef _AFXDLL
m_pModuleState = NULL;
#endif
}
MFCbug
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货