【发布时间】:2010-12-23 04:10:03
【问题描述】:
我正在使用一个应用程序,它运行良好。几个月不使用它后,我尝试运行它,但它不起作用。它显示一个消息框,说它不能实例化 COM 对象。
有谁知道如何跟踪 COM 对象中的错误?
【问题讨论】:
我正在使用一个应用程序,它运行良好。几个月不使用它后,我尝试运行它,但它不起作用。它显示一个消息框,说它不能实例化 COM 对象。
有谁知道如何跟踪 COM 对象中的错误?
【问题讨论】:
您可以使用 ProcessMonitor 并尝试查找可能不正确的注册表项。 另一个选项是使用http://www.moduleanalyzer.com,它会拦截 CoCreateInstance,显示所有创建的 COM 对象和返回值。
【讨论】:
在 COM 对象 DLL 上运行 Depends 工具以验证它具有所有必需的 dll,重新注册 COM dll/exe。
任何来自调试/日志的 HRESULTS?公寓模型有什么变化吗?
一经设置,您就无法更改公寓类型。因此,如果对象不能使用其中一个模型,而您尝试 CoCreate 它,它将失败。这就是为什么你永远不会从 DLL 主线程内部调用 CoInit。
【讨论】: