День добрый!
Диалоговая программа использует Microsoft Internet Explorer в качестве элемента.
Программа скомпилирована на VC++ 6.0.
В программе используется put_innerHTML (и для обновления страницы и для обновления SPAN).
Программа работает на EI 5.0, 5.5, и не работает на EI 4.0.
Здравствуйте VGK, Вы писали:
VGK>День добрый! VGK>Диалоговая программа использует Microsoft Internet Explorer в качестве элемента. VGK>Программа скомпилирована на VC++ 6.0. VGK>В программе используется put_innerHTML (и для обновления страницы и для обновления SPAN). VGK>Программа работает на EI 5.0, 5.5, и не работает на EI 4.0.
VGK>Как заставить программу работать на IE 4.0 ???
А в чём выражается её "не работа"? put_innerHTML не возвращает S_OK или проблема возникает раньше? Код бы поглядеть тоже неплохо было.
Здравствуйте VGK, Вы писали:
VGK>День добрый! VGK>Диалоговая программа использует Microsoft Internet Explorer в качестве элемента. VGK>Программа скомпилирована на VC++ 6.0. VGK>В программе используется put_innerHTML (и для обновления страницы и для обновления SPAN). VGK>Программа работает на EI 5.0, 5.5, и не работает на EI 4.0.
VGK>Как заставить программу работать на IE 4.0 ???
MS про innerHTML в MSDN писали:
This property is accessible at run time, as of Microsoft® Internet Explorer 5. blah-blah-blah
т.е. работать как бы и не должно...
можно попробовать триаду IHTMLDocument2::clear,write,close...
- А Вы что курите?
— Минздрав предупреждает
Re[2]: Вызов put_innerHTML на EI 4.0 после VC++ 6.0
Здравствуйте DNS, Вы писали:
DNS>Здравствуйте VGK, Вы писали:
VGK>>День добрый! VGK>>Диалоговая программа использует Microsoft Internet Explorer в качестве элемента. VGK>>Программа скомпилирована на VC++ 6.0. VGK>>В программе используется put_innerHTML (и для обновления страницы и для обновления SPAN). VGK>>Программа работает на EI 5.0, 5.5, и не работает на EI 4.0.
VGK>>Как заставить программу работать на IE 4.0 ???
DNS>А в чём выражается её "не работа"? put_innerHTML не возвращает S_OK или проблема возникает раньше? Код бы поглядеть тоже неплохо было.
Сообщение программы: Программа выполнила недопустимую операцию
Сведения:Программа Stuts.EXE вызвала сбой при обращении к странице памяти в модуле
MSHTML.DLL по адресу 015f:7bcc2ca2
Код функции:
BOOL CTestHtmlCtrl::SetBody(LPDISPATCH pDisp, CString * pcsArgBody)
{
int currentstep = 0;
char ach[10];
CString Err;
HRESULT hr = S_OK;
if (pDisp == NULL)
{
AfxMessageBox ("SetBody — pDisp==NULL");
return false;
}
try
{
currentstep++; //1
MSHTML::IHTMLDocument2Ptr spDoc(GetDocument());
if( spDoc == NULL)
{
return false;
}
currentstep++; //2
MSHTML::IHTMLElement *pBodyElement;
//MSHTML::IHTMLBodyElement *pBodyElement;
//get body element
currentstep++; //3
hr=spDoc->get_body( &pBodyElement);
if (FAILED(hr))
{
AfxMessageBox ("hr=spDoc->get_body( &pBodyElement);");
return false;
}
//put content to body element
currentstep++; //4
_bstr_t pbBody( *pcsArgBody);
currentstep++; //5 — далее программа не работает !!!!!!!!!!!!!!!
//На экран вылазит AfxMessageBox: 5 — catch SetBody
hr=pBodyElement->put_innerHTML( pbBody);
if (FAILED(hr))
{
AfxMessageBox ("hr=pBodyElement->put_innerHTML( pbBody);");
return false;
}
currentstep = 77;
return true;
}//try
catch( ... )
{
itoa (currentstep, ach, 10);
Err = ach;
Err += " — catch SetBody";
AfxMessageBox (Err);
return false;
}
return true;
}