解决问题:ASSERT in Wincore.cpp ,line 884
来源:互联网 发布:手机恢复软件免费版 编辑:程序博客网 时间:2024/05/21 06:31
Project A.dll有如下相关结构与接口:(伪VC代码)
Class CChildView : public;
Class CMainFrame {… CChildView m_wndView; …};
CMainFrame::ShowDialingPad()
{
CMyDialog * pDlg=new CMyDialog();
pDlg->Create(IDD_MYDIALOG,&m_wndView);//pointA
}
Global function:
Void ShowPadDialing() {… (CMainFrame*)GetMainWindow()->ShowDialingPad ….}//pointB
另一个Project B.dll调用了全局函数ShowPadDialing(),从而由point B进入到pointA引发断言错误ASSERT in Wincore.cpp ,line 884
判断:根据网页http://www.tek-tips.com/viewthread.cfm?qid=370203 判断,此处也是多线程引发的问题。考虑用Windows的SendMessage/PostMessage机制解决。
故作如下修改:
1、自定义windows消息#define WM_NEWMYDIALOG WM_USER+111
2、废弃CMainFrame::ShowDialingPad()的内容,该做m_wndView.PostMessage(WM_NEWMYDIALOG,WPARAM,LPARAM)//考虑多线程,不应该等待故用PostMessage
3、在CChildView:: LRESULT CChildView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)中对自定义消息NEWMYDIALOG进行处理,完成原先CMainFrame::ShowDialingPad()的相关动作。
- 解决问题:ASSERT in Wincore.cpp ,line 884
- UpdateData函数的 wincore.cpp Line:883错误
- ASSERT: "width > 0.0" in file painting\qrasterizer.cpp, line 710
- Assert failed:in file tessdatamanager.cpp, line 53
- wincore.cpp line331
- Debug Assertion Failed! File:f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\wincore.cpp Line:896
- qt ASSERT: "dst.depth() == 32" in file qgl.cpp, line 2096
- MFC fileview目录下出现 wincore.cpp
- assert failed appcore.cpp
- Debug: ..\..\src\common\image.cpp(1454): assert "Ok()" failed in wxImage::GetWidth(): invalid image
- WinCore--TerminateThread--
- DX12 新手问题:HR Failed:hr failed in XX\....\d3dutil.cpp; line 110; error;...
- WinHand.cpp Line 199 错误 WinHand.cpp Line 218 错误
- WinHand.cpp Line 199错误
- winhand.cpp Line XX错误
- occcont.cpp Line 925错误
- array.cpp line 1238错误
- dlgdata.cpp line 40 error
- sql server 2005 代理权限问题
- 帝国的倒塌(罗马 VS 曼联)
- 手机里舍不得删除的48条搞笑短信
- 面向对象技术JAVA(NO.0004)-JAVA程序的开发、执行流程
- WINDOWS未加域进行DNS名称解析
- 解决问题:ASSERT in Wincore.cpp ,line 884
- 一个简单的数值比较问题
- Java模板引擎Velocity 2007年3月底
- 为什么C++编译器不能支持对模板的分离式编译
- 截获剪贴板消息
- JSP中的Cookie
- Linux下rar文件的压缩与解压
- [sqlServer]层状设计
- Delphi 小数自动变为.999999