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。

posted @ 2012-10-10 10:21  特洛伊人  阅读(961)  评论(0编辑  收藏  举报