VC取得COM组件调用失败的错误信息
在VB中,COM组件如果调用失败,Runtime会直接提示错误的信息。
在VC++中,COM组件的返回值是HRESULT,通过SUCCEEDED和FAILED宏来判断COM组件是否调用成功。
如果想要获取COM组件调用失败的具体信息,可以这样做:(首先应该包括头文件comdef.h)
hr = pWindow->execScript(L"add('test');", L"Javascript", &ret); if (FAILED(hr)) { CComBSTR bstrErrorInfo; IErrorInfoPtr errPtr; GetErrorInfo(0, &errPtr); errPtr->GetDescription(&bstrErrorInfo); AfxMessageBox(bstrErrorInfo); }
使用IErrorInfoPtr的GetDescription方法来获取错误信息,获取IErrorInfoPtr的方法是使用全局函数GetErrorInfo。