OCX释放问题

stivenjia 2012-01-13 01:34:08
容器对象载入OCX对象后,一切正常,在容器关闭释放时候OCX执行ExitInstance但是OCX内的dispinterface默认接口对象却没有释放然而使用IE和tstcon32测试OCX是正常的,请问这种问题怎么解决
...全文
191 点赞 收藏 9
写回复
9 条回复
JoeBlackzqq 2012年02月14日
OCX的释放不是根据计数器,在Release()里写好的吗??

本人初级,来学习的。
回复 点赞
jianghandaxue 2012年02月13日
先用VC自带的调试工具ActiveX Control test Container工具测试,在OCX控件的destroy断点跟踪下,有没有进来
回复 点赞
stivenjia 2012年01月13日
[Quote=引用 3 楼 ouyh12345 的回复:]

有没有FinalRelease?
[/Quote]
没有
回复 点赞
stivenjia 2012年01月13日
在OnDestory执行如下

LPUNKNOWN pUnknown = m_XmppPlugin.GetControlUnknown();
m_XmppPlugin.DestroyWindow();
if( pUnknown )
{
while( pUnknown->Release() )
{

}
}

Release大概执行了4次,而且执行完后OCX的ExitInstance也没有触发。该OCX使用IE等测试容器没问题释放也没问题,就是被其他开发程序引用时候出现这个问题很奇怪。
回复 点赞
fishion 2012年01月13日
不明白
回复 点赞
phoeni_xin 2012年01月13日
看看。之前没遇到此问题。
回复 点赞
ouyh12345 2012年01月13日
有没有FinalRelease?
回复 点赞
许文君 2012年01月13日
是否有其他线程未释放?我觉得销毁工作最好放在destroy里
回复 点赞
stivenjia 2012年01月13日
更正一下:在容器关闭释放时候OCX没有执行ExitInstance
回复 点赞
发动态
发帖子
ATL
创建于2007-09-28

3023

社区成员

4.8w+

社区内容

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区公告
暂无公告