MFC Web 浏览器.导航错误"A null reference pointer was passed to the stub."

MFC WebBrowser.Navigate error "A null reference pointer was passed to the stub."

本文关键字:was pointer passed to stub the reference null 浏览器 Web 导航      更新时间:2023-10-16

在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 应用程序调用)。

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

谢谢

尝试使用 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
);