сбой программы
Исключение первого шанса в 0x00000000 в MFCApplication4.exe: 0xC0000005: расположение выполнения нарушения прав доступа 0x00000000.
HINSTANCE hInst = ::LoadLibrary(_T("OLEACC.DLL"));
CoInitialize(NULL);
if (hInst != NULL)
{
if (parentWindow != NULL)
{
if (childWindow)
{
CComPtr<IHTMLDocument2> spDoc;
LRESULT lRes;
UINT nMsg = ::RegisterWindowMessage(_T("WM_HTML_GETOBJECT"));
::SendMessageTimeout(childWindow, nMsg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (DWORD*)&lRes);
LPFNOBJECTFROMLRESULT pfObjectFromLresult = (LPFNOBJECTFROMLRESULT)::GetProcAddress(hInst, LPCSTR("ObjectFromLresult"));
if (pfObjectFromLresult != NULL)
{
HRESULT hr;
hr = (*pfObjectFromLresult)(lRes, IID_IHTMLDocument, 0, (void**)&spDoc);
if (SUCCEEDED(hr))
{
CComPtr<IHTMLElement> pHTMLElement;
hr = spDoc->get_body(&pHTMLElement);// <-this line breaks the program
//BSTR bstrText;
//pHTMLElement->get_innerText(&bstrText);
//edit1->SetWindowTextW(bstrText);
}
}
}
}
::FreeLibrary(hInst);
}
CoUninitialize();
Я выполняю этот код с помощью кнопки из диалогового приложения MFC, просто чтобы проверить код
это авто
- & pHTMLElement 0x00ddeb10 0x00000000
ATL :: CComPtr *
- ч S_OK HRESULT
- pHTMLElement 0x00000000 ATL :: CComPtr
- spDoc 0x03303f7c {...} ATL :: CComPtr
- this 0x00ddfbd8 {hWnd = 0x001905b6 {unused = ??? }} CMFCApplication4Dlg *
я не знаю, в чем ошибка