在应用程序中跟踪COM对象错误

时间:2010-12-22 18:16:19

标签: com win32com win32ole

我正在使用一个应用程序,它工作得很完美。几个月没有使用它,我试图运行它,它不起作用。它显示一个消息框,说明它不能实例化COM对象。

有没有人知道如何跟踪COM对象中的错误?

2 个答案:

答案 0 :(得分:1)

在COM对象DLL上运行Depends工具以验证它是否具有所有必需的dll,重新注册COM dll / exe。

来自调试/日志的任何问题?公寓模型有任何变化吗?

设置完公寓类型后,您无法更改公寓类型。因此,如果对象无法使用其中一个模型,并且您尝试CoCreate它,它将失败。这就是你永远不会从DLL主线程内部调用CoInit的原因。

答案 1 :(得分:1)

您可以使用ProcessMonitor并尝试查找可能不正确的注册表项。 另一个选项是使用http://www.moduleanalyzer.com,它拦截CoCreateInstance,显示所有创建的COM对象和返回值。