在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。

相关文章:

  • 2022-12-23
  • 2022-01-28
  • 2022-12-23
  • 2022-03-03
  • 2022-12-23
  • 2021-08-04
  • 2021-10-20
  • 2021-09-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-27
  • 2021-12-31
  • 2021-11-17
相关资源
相似解决方案