ASSERT(FromHandlePermanent(hWndNew) == NULL)
来源:互联网 发布:2016淘宝运营推广方案 编辑:程序博客网 时间:2024/05/18 03:00
多次子类化造成Debug Assertion Failed! wincore.cpp Line: 320
一个普通的MFC程序Release下没有任何问题。其实可能还存在潜在的其他问题。今天为了调试内存泄漏的问题。把程序编译成Debug版然后开始调试就报断言失败。
这次的报错的地方在MFC的源文件wincore.cpp的320行。
BOOL CWnd::Attach(HWND hWndNew){ ASSERT(m_hWnd == NULL); // only attach once, detach on destroy ASSERT(FromHandlePermanent(hWndNew) == NULL); // must not already be in permanent map if (hWndNew == NULL) return FALSE; CHandleMap* pMap = afxMapHWND(TRUE); // create map if not exist ASSERT(pMap != NULL); pMap->SetPermanent(m_hWnd = hWndNew, this);#ifndef _AFX_NO_OCC_SUPPORT AttachControlSite(pMap);#endif return TRUE;}
320行在:
ASSERT(m_hWnd == NULL);
一个普通的对话框程序要动态创建三个对话框。单步调试到第一个没问题。第二个走到 CXXDlg->Create(....)的时候就报Asserting Failed。
这次应该想到第二个对话框的一些特殊的代码。没错。我子类化了一个CEdit。
我写了一个CExtEdit类。并且用ClassWizard绑定了一个变量CExtEdit m_ctlExtEdit。完了还在CXXDlg::OnInitDialog()里面加入了m_ctlExtEdit.SubClassDlgItem(...)。这样就造成了m_ctlExtEdit的重复子类化。
解决的方法有两个:
- 用ClassWizard去掉变量绑定m_ctlExtEdit,动态的创建一个CExtEdit。
- 去掉多余的.SubClassDlgItem函数。
阅读全文
0 0
- ASSERT(FromHandlePermanent(hWndNew) == NULL)
- ASSERT(m_pCtrlSite != NULL)
- ASSERT(m_pCtrlSite != NULL);
- VC:断言ASSERT(pState->m_hSocketWindow != NULL);
- assert(pMap != NULL)错误的解决办法
- assert(pMap != NULL)错误的解决办法
- appcore.cpp ASSERT(AfxGetThread() == NULL);错误
- 要死的ASSERT(AfxGetThread() == NULL)问题--解决
- 触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因
- 莫名其妙的遇到ASSERT(m_pDocManager != NULL);错误
- 触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因
- 触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因
- 触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因
- 触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因
- CSocket断言错误 ASSERT(pState->m_hSocketWindow != NULL);
- 触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因
- 触发ASSERT(afxCurrentResourceHandle != NULL)错误的原因
- 函数的入口校验时,assert(NULL!=p)与if(NULL!=p)的区别
- 递归实现十进制到2(其他)进制的转换
- 架构设计(3)--架构模式
- Struts2 拦截器
- MFC VS2013 在静态库中使用MFC 和在共享DLL中使用MFC 切换
- java上传文件实例
- ASSERT(FromHandlePermanent(hWndNew) == NULL)
- 从控制台读取多字符输入
- 高性能Vs性价比,总有一款适合你,阿里云NAS家族深度解析
- 常用单词
- tortoisesvn安装
- 非root查看手机数据库和SharedPreferences的方法
- linked-list-cycle Java code
- 【CF809E】Surprise me! 树形DP 虚树 数学
- 电商体系的分级