如果决定COM动态库的从内存中卸载的顺序 在程序中调用了多个ActiveX的动态库和ATL的动态库,其中ActiveX动态(MFC的)库使用了ATL动态库中的COM对象,按理说,ATL动态库应该在ActiveX动态卸载后再卸载,但是事实上动态库的卸载顺序具有一定的随机性,造成有时候在ActiveX动态库中释放COM对象出错(因为此事COM动态库已经terminate了!)。程序有时正常,有时不正常,请问有没有高手知道其中原因,请解答,不甚感激。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不会把,你没有Release它,它如何会被释放?按你需要的顺序Release不就可以了吗? 不知道你为什么要去考虑com的卸载顺序,但COM的确不是马上释放,而是被加载到一个释放的队列上头! 确保在COM模块内部之间,总是使用COM的Interface来相互调用。而不要用Class的指针来防问成员变量或函数。另外,如果没有COM对象的计数器没有完全被Release成零,相对应的DLL是不会被释放掉的。所以如果你说的那种现象,说明在调用时肯定没有正确调用AddRef和Release。 父窗口为桌面的对话框,如何能让它不在任务栏中显示? VC2005中怎样加一个启动画面? 有关DNS被屏蔽的问题? 一个奇怪的问题 怎么简单方法获取显卡的信息,不用wmi 请问哪里有activeskin的下载? 急!高分求解,有关证券行情显示。 关于模板的菜问题 定时器到一半不工作 哪有《Inside OLE 2》的电子版下载 我刚散分没有分了,可是我有问题了。帮我呀!!!我用GHOST做系统时,不小心把一个分区覆盖了,有办法恢复吗?? 我的OCX,DEBUG版一切正确并运行,但是Release编译出来后,使用Regsvr32注册时,却出问题。
但COM的确不是马上释放,而是被加载
到一个释放的队列上头!