Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MFC WebBrowser.Navigate错误“向存根传递了空引用指针。” 在C++ MFC应用程序中,我有一个嵌入在窗体中的WebBub。它通过插入ActiveX控件嵌入到表单中。。。对话框,然后我创建了IDispatch包装类并添加了一个变量_C++_Mfc_Activex_Webbrowser Control - Fatal编程技术网

MFC WebBrowser.Navigate错误“向存根传递了空引用指针。” 在C++ MFC应用程序中,我有一个嵌入在窗体中的WebBub。它通过插入ActiveX控件嵌入到表单中。。。对话框,然后我创建了IDispatch包装类并添加了一个变量

MFC WebBrowser.Navigate错误“向存根传递了空引用指针。” 在C++ MFC应用程序中,我有一个嵌入在窗体中的WebBub。它通过插入ActiveX控件嵌入到表单中。。。对话框,然后我创建了IDispatch包装类并添加了一个变量,c++,mfc,activex,webbrowser-control,C++,Mfc,Activex,Webbrowser Control,以下是我遵循的说明: 在创建和销毁了几次对话框之后,我收到了一个错误消息:向存根传递了一个空引用指针。当我调用以下命令时: m_browser->Navigate( _T("about:blank"), NULL, NULL, NULL, NULL ); 不幸的是,我不能重新创建它,我的质量保证部门也不能仅仅是那些从win32应用程序调用的据称赢得7 x64的客户端 这种方法是否有问题,或者我完全遗漏了什么 谢谢尝试使用string而不是literal\u Tabout:blank并传递

以下是我遵循的说明:

在创建和销毁了几次对话框之后,我收到了一个错误消息:向存根传递了一个空引用指针。当我调用以下命令时:

m_browser->Navigate( _T("about:blank"), NULL, NULL, NULL, NULL );
不幸的是,我不能重新创建它,我的质量保证部门也不能仅仅是那些从win32应用程序调用的据称赢得7 x64的客户端

这种方法是否有问题,或者我完全遗漏了什么

谢谢

尝试使用string而不是literal\u Tabout:blank并传递一个空变量而不是NULL:

COleVariant vUrl(_T("about:blank"));
COleVariant vEmpty;
m_browser->Navigate(V_BSTR(&vUrl), &vEmpty, &vEmpty, &vEmpty, &vEmpty);
与方法的签名匹配的:


对URL使用COleVariant而不是BSTR或文字似乎没有必要,但传入空变量而不是NULL似乎可以解决问题。我觉得奇怪的是,微软的例子使用空值,这就是问题的原因。你仍然应该使用BSTR,而不是文字。BSTR的内存存储布局与常规的以null结尾的字符串稍有不同,它们也存储长度。如果一个API的签名中有一个BSTR,您应该给它一个正确分配的BSTR。我之所以使用COleVariant是因为我不知道在MFC中如何更好地分配BSTR并立即用智能指针将其包装。在ATL中,这将是CComBSTRLabout:blank。我不同意更改常量的需要。BSTR是强类型的。如果编译器无法在_t和BSTR之间转换,它将无法编译。不幸的是,BSTR不是强类型的。这就是它在WTypes.h:typedef/*[wire\u marshal]*/oclehar*BSTR;中的定义方式;。OLECHAR是WCHAR的别名:typedef WCHAR-OLECHAR。因此,BSTR和LPWSTR是相同的东西。
HRESULT Navigate(
    BSTR url,
    VARIANT *Flags,
    VARIANT *TargetFrameName,
    VARIANT *PostData,
    VARIANT *Headers
);