MFC WebBrowser.Navigate error & quot; пустой указатель ссылки был передан заглушке. & Quot;

В приложении 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

Решение

Попробуйте использовать 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
);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]