哪位高手能帮小弟我调试一个COM指针调用Release出错的有关问题
谁能帮我调试一个COM指针调用Release出错的问题?
VC6写的EXE,VC6写的DLL,VB.NET写的COM
VC6EXE调用VC6DLL,然后VC6DLL调用VBCOM,调用都正常,但是在关闭整个程序时,会出现报错,经调试,应该是VC6DLL实例化的VBCOM指针没有正常Release。
经过比对,用VC6EXE直接调用VBCOM,调用和最后关闭程序都正常,没任何错误。
所以,我认为该错误应该是VCDLL在实例化VBCOM后,COM指针在最后退出时Release错误。由于本人对VC不是很擅长,请教高人帮忙调试一下,多谢!~~~~。
测试程序很小,打包后只有300多K。
由于这里无法加附件,请留下您的邮箱,我发给您,感激涕零~~~
卡在这里很多天了,急~~
------解决方案--------------------
VC6DLL增加退出导出函数,当程序退出时调用,退出函数里做释放COM对象的操作
------解决方案--------------------
每个模块负责每个模块中new and delete,不要跨模块new与delete.
遵循这样的规则去review你那几个模块中的code,再找原因.
------解决方案--------------------
这里只讨论,不代劳
VC6写的EXE,VC6写的DLL,VB.NET写的COM
VC6EXE调用VC6DLL,然后VC6DLL调用VBCOM,调用都正常,但是在关闭整个程序时,会出现报错,经调试,应该是VC6DLL实例化的VBCOM指针没有正常Release。
经过比对,用VC6EXE直接调用VBCOM,调用和最后关闭程序都正常,没任何错误。
所以,我认为该错误应该是VCDLL在实例化VBCOM后,COM指针在最后退出时Release错误。由于本人对VC不是很擅长,请教高人帮忙调试一下,多谢!~~~~。
测试程序很小,打包后只有300多K。
由于这里无法加附件,请留下您的邮箱,我发给您,感激涕零~~~
卡在这里很多天了,急~~
------解决方案--------------------
VC6DLL增加退出导出函数,当程序退出时调用,退出函数里做释放COM对象的操作
------解决方案--------------------
每个模块负责每个模块中new and delete,不要跨模块new与delete.
遵循这样的规则去review你那几个模块中的code,再找原因.
------解决方案--------------------
这里只讨论,不代劳