active造成其他的IE选项卡关闭

satanaelzhou 2009-05-18 04:14:06
1.打开使用Active控件的网页。里面加载了我自己写的控件
2.这个ie中还有其他的选项卡。

举个例子就是:active控件网页(我自己写的),google,qq,等网页,在不同的选项卡上

问题来了,在我只关闭active控件网页的选项卡的时候,其他的Google,qq等网页也一起关闭了。

而且在关闭active控件的网页 偶尔会出现这个错误:Unhandled exception at 0x1020c034 in IEXPLORE.EXE: 0xC0000005: Access violation reading location 0x1020c034.
基本指针什么都删除资料也调用了销毁函数...

有意见帮看看,没意见的帮顶下
...全文
123 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
satanaelzhou 2009-05-19
  • 打赏
  • 举报
回复
问题排除。确实是其他的DLL的释放操作尚未完成,然后IE却关闭了...我提前了释放操作,保证在IE关闭之前其他DLL的释放都能完成。
ok 结贴散分...^_^
TianChong 2009-05-18
  • 打赏
  • 举报
回复
楼主试一下先不作释放其他的DLL的申请的资源,只是关闭你自己的东西,你申请的空间也不管它不释放,只关闭你的选项卡。这样看会不会出问题,如果不会,说明是在你最后的OnDestroy();出问题了,还是使用排除法测试,一个一个释放,看那个导致的,然后再检查该处的语法或释放是否存在问题。一步一步来吧。
wutaihua 2009-05-18
  • 打赏
  • 举报
回复
有两种情况会导致异常:
1、ActiceX控件在释放的时候,发生了释放失败或者是释放异常的情况,这与动态申请空间之类的有关。
2、控件调用的dll没有按照其接口进行关闭,直接就挂掉了程序。
3、你空间中有全局变量,这个最危险了。一个释放,会引发连锁反应。尤其是同一个控件的多个实例,会一起关闭。这与内存共享有关
satanaelzhou 2009-05-18
  • 打赏
  • 举报
回复
我也这么怀疑...而且问题貌似也集中到了删除时候的问题。
因为这个OCX里面本身调用了很多的其他的DLL

我选择在这里释放其他的DLL的申请的资源:void CXXXCtrl::OnDestroy();
是不是得换个地方.有什么建议么.
doudouHuY 2009-05-18
  • 打赏
  • 举报
回复
应该是你组件删除的处理有问题导致的ie出错
oyljerry 2009-05-18
  • 打赏
  • 举报
回复
IE可能出问题了,检查你的ActiveX关闭tab时是否处理了什么
satanaelzhou 2009-05-18
  • 打赏
  • 举报
回复
对,IE没有提示它崩溃...只是强制性的把跟他在一个IE窗口的其他的选项卡给关闭了..
biweilun 2009-05-18
  • 打赏
  • 举报
回复
IE都被弄崩溃了?
biweilun 2009-05-18
  • 打赏
  • 举报
回复
这个问题,很牛

3,245

社区成员

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

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