读书人

CoCreateInstance 施行失败

发布时间: 2012-11-06 14:07:00 作者: rapoo

CoCreateInstance 执行失败
if ( FAILED( ::CoInitialize( NULL ) ) )
{

return false;
}

CLSID pdfCLSID;
CLSIDFromProgID( L"PDFCreator.clsPDFCreator", &pdfCLSID );

HRESULT hr = CoCreateInstance(pdfCLSID,NULL,CLSCTX_ALL,__uuidof(PDFCreator::_clsPDFCreator),
reinterpret_cast<LPVOID*>(&pdfCreator));
if ( FAILED(hr) )
{
return false;
}

在我本机上有安装PDFCreator,Adobe Acrobat7.0,Adobe Reader 9.0,程序运行正常,在测试机上安装的也是同样的pdf软件,但CoCreateInstance函数执行失败,这是为什么啊?

[解决办法]

探讨
to : yisikaipu
Release版,无法调试,只知道返回错误。

安装PDFCreator的时候,是不是自动注册它自己COM接口?
如果是COM接口没有注册好?要怎么手动注册呢?

[解决办法]
我记得com里 只要把光标放到hr那里,就会提示:错误原因,不仅仅是一个数字

当然,如果不行的话,hi则能够getlasterror了。

然后 用这个错误码去查找错误原因了.




探讨
引用:
to : yisikaipu
Release版,无法调试,只知道返回错误。

安装PDFCreator的时候,是不是自动注册它自己COM接口?
如果是COM接口没有注册好?要怎么手动注册呢?


release版也可以调试的

至少debug调试总可以吧,debug版没错?

哪怕把hr用消息框发出来嘛

注册表根目录下搜 PDFCreator.……

读书人网 >C++

热点推荐