200分求解决方法我用vc些的MFC ActiveX 控件项目,在ie中使用,ie关闭时有时会出现错误

akang1982 2007-08-27 09:36:14
另一个同样问题在http://community.csdn.net/Expert/topic/5731/5731120.xml?temp=.552685
如果ie直接关闭,就没有问题,如果ie等一段时间后关闭,就会出错,出错时发现没有调用ocx控件实现中的析构函数
...全文
253 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
akang1982 2007-08-28
  • 打赏
  • 举报
回复
这个问题很常见,我百度搜了很多,结果都是不了了之,为什么啊
akang1982 2007-08-28
  • 打赏
  • 举报
回复
我把控件里面创建的东西都注释了 结果还是有问题 出错在
如果使用debug版本的activex,在ie关闭的时候出现Debug Assertion Failed!引起错误的代码在wincore.cpp中,如下:

/////////////////////////////////////////////////////////////////////////////
// The WndProc for all CWnd's and derived classes

LRESULT CALLBACK
AfxWndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
// special message which identifies the window as using AfxWndProc
if (nMsg == WM_QUERYAFXWNDPROC)
return 1;

// all other messages route through message map
CWnd* pWnd = CWnd::FromHandlePermanent(hWnd);
ASSERT(pWnd != NULL);《《《《《《《《《《《《《《《《《《引发错误的行
ASSERT(pWnd->m_hWnd == hWnd);
if (pWnd == NULL || pWnd->m_hWnd != hWnd)
return ::DefWindowProc(hWnd, nMsg, wParam, lParam);
return AfxCallWndProc(pWnd, hWnd, nMsg, wParam, lParam);
}
akang1982 2007-08-28
  • 打赏
  • 举报
回复
我把在控件里面创建的东西都注释掉了,结果还是出一样的错误
格瑞特丹 2007-08-28
  • 打赏
  • 举报
回复
截获关闭事件,在此之前释放析构函数中的实现
syy64 2007-08-28
  • 打赏
  • 举报
回复
在退出函数里设断点调试。
  • 打赏
  • 举报
回复
调试模式加载,然后关闭IE看看是哪里错误了
Avoid 2007-08-27
  • 打赏
  • 举报
回复
资源没释放或者线程没结束。。。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧