Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在应用程序中跟踪COM对象错误_Com_Win32com_Win32ole - Fatal编程技术网

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

在应用程序中跟踪COM对象错误,com,win32com,win32ole,Com,Win32com,Win32ole,我正在使用一个应用程序,它工作得非常好。在几个月没有使用它之后,我试着运行它,但它不起作用。它显示一个消息框,说明它无法实例化COM对象 是否知道如何跟踪COM对象中的错误?运行依赖于COM对象DLL的工具要验证它是否具有所有必要的DLL,请重新注册COM DLL/exe 调试/日志的任何HRESULT?公寓模式有什么变化吗 一旦设置了公寓类型,就无法更改公寓类型。因此,如果对象不能使用其中一个模型,而您试图共同创建它,它将失败。这就是为什么您从不从DLL主线程内部调用Conit。您可以使用Pr

我正在使用一个应用程序,它工作得非常好。在几个月没有使用它之后,我试着运行它,但它不起作用。它显示一个消息框,说明它无法实例化COM对象


是否知道如何跟踪COM对象中的错误?

运行依赖于COM对象DLL的工具要验证它是否具有所有必要的DLL,请重新注册COM DLL/exe

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


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

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

DebugView不显示任何错误。是的,我知道在这种情况下CoCreate会失败,但我想知道哪个对象失败了CoCreateInstance。我尝试了ProcessMonitor,但我真的不明白它如何帮助我。我看了注册表项,一切似乎都很好。模块分析器检测到这个问题,它显示了一个COM错误,我可以修复这个错误,再次注册dll。看起来好像安装了对象的新版本,而旧应用程序要求旧接口说明它对该对象不再有效。注册正确的对象后,应用程序将顺利运行!