在 C++ MFC 应用程序中,我在表单中嵌入了一个 WebBrowser。它通过“插入 ActiveX 控件...”对话框嵌入到表单中,然后我创建了 IDispatch 包装类并添加了一个变量。
这些是我遵循的说明:
http://msdn.microsoft.com/en-us/library/aa752046(v=vs.85).aspx
创建和销毁对话框几次后,我收到错误消息“空引用指针已传递到 stub 。”当我调用以下内容时:
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
);
关于c++ - MFC WebBrowser.Navigate 错误 "A null reference pointer was passed to the stub.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18796557/