在应用程序中跟踪COM对象错误
我正在使用一个应用程序,它工作得非常好。在几个月没有使用它之后,我试着运行它,但它不起作用。它显示一个消息框,说明它无法实例化COM对象在应用程序中跟踪COM对象错误,com,win32com,win32ole,Com,Win32com,Win32ole,我正在使用一个应用程序,它工作得非常好。在几个月没有使用它之后,我试着运行它,但它不起作用。它显示一个消息框,说明它无法实例化COM对象 是否知道如何跟踪COM对象中的错误?运行依赖于COM对象DLL的工具要验证它是否具有所有必要的DLL,请重新注册COM DLL/exe 调试/日志的任何HRESULT?公寓模式有什么变化吗 一旦设置了公寓类型,就无法更改公寓类型。因此,如果对象不能使用其中一个模型,而您试图共同创建它,它将失败。这就是为什么您从不从DLL主线程内部调用Conit。您可以使用Pr
是否知道如何跟踪COM对象中的错误?运行依赖于COM对象DLL的工具要验证它是否具有所有必要的DLL,请重新注册COM DLL/exe 调试/日志的任何HRESULT?公寓模式有什么变化吗
一旦设置了公寓类型,就无法更改公寓类型。因此,如果对象不能使用其中一个模型,而您试图共同创建它,它将失败。这就是为什么您从不从DLL主线程内部调用Conit。您可以使用ProcessMonitor并尝试查找可能不正确的注册表项。
另一个选项是使用,它截取显示所有已创建COM对象和返回值的CoCreateInstance。DebugView不显示任何错误。是的,我知道在这种情况下CoCreate会失败,但我想知道哪个对象失败了CoCreateInstance。我尝试了ProcessMonitor,但我真的不明白它如何帮助我。我看了注册表项,一切似乎都很好。模块分析器检测到这个问题,它显示了一个COM错误,我可以修复这个错误,再次注册dll。看起来好像安装了对象的新版本,而旧应用程序要求旧接口说明它对该对象不再有效。注册正确的对象后,应用程序将顺利运行!