MFC WebBrowser.Navigate错误“将空引用指针传递给存根。”

时间:2013-09-13 23:10:24

标签: c++ mfc activex webbrowser-control

在c ++ MFC应用程序中,我在表单中嵌入了WebBrowser。它通过“插入ActiveX控件...”对话框嵌入到表单中,然后我创建了IDispatch包装器类并添加了一个变量。

这些是我所遵循的说明:

http://msdn.microsoft.com/en-us/library/aa752046(v=vs.85).aspx

在创建和销毁对话框几次后,我收到错误“将空引用指针传递给存根”。当我打电话给你时:

m_browser->Navigate( _T("about:blank"), NULL, NULL, NULL, NULL );

不幸的是,我无法重新创建这个,而我的QA部门(只有客户端称为win 7 x64,从win32应用程序调用)。

这种方法有问题还是我完全错过了什么?

由于

1 个答案:

答案 0 :(得分:0)

尝试使用BSTR字符串而不是文字_T("about:blank")并传递空变量而不是NULL:

COleVariant vUrl(_T("about:blank"));
COleVariant vEmpty;
m_browser->Navigate(V_BSTR(&vUrl), &vEmpty, &vEmpty, &vEmpty, &vEmpty);

匹配IWebBrowser2::Navigate方法的签名:

HRESULT Navigate(
    BSTR url,
    VARIANT *Flags,
    VARIANT *TargetFrameName,
    VARIANT *PostData,
    VARIANT *Headers
);