1

我正在使用一个应用程序,它运行良好。几个月不使用它后,我尝试运行它,但它不起作用。它显示一个消息框,说明它不能实例化 COM 对象。

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

4

2 回答 2

1

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

于 2010-12-22T20:10:03.073 回答
1

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

来自调试/日志的任何 HRESULTS?公寓模式有什么变化吗?

一旦您设置了公寓类型,您将无法更改。因此,如果对象不能使用其中一个模型,而您尝试共同创建它,它将失败。这就是为什么你永远不会从 DLL 主线程内部调用 CoInit。

于 2010-12-22T18:22:38.810 回答