Scripts
От: МДС  
Дата: 27.04.02 02:50
Оценка: -3
Люди, помогите разобраться с исходником.
Он должен вытаскивать скрипты из браузера.
Вроде всё работает (по крайней мере количество скриптов определяется точно),
но какой бы функцией я бы не пытался вытащить из pIElem, хоть какую-нибудь информацию,
в Memo заносятся только числа. Может я не правильно с BSTR работаю...


#include <mshtml.h>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
IHTMLDocument2 *HTMLDocument = NULL;
if(!CppWebBrowser->Busy && CppWebBrowser->Document &&
AnsiString(CppWebBrowser->LocationURL) != "about:blank" &&
SUCCEEDED(CppWebBrowser->Document->QueryInterface(
IID_IHTMLDocument2, (LPVOID*)&HTMLDocument)))
{

IHTMLElementCollection* pElements;
HRESULT hr2 = HTMLDocument->get_scripts(&pElements);
long plongnumberofelements;
HRESULT hr3 = pElements->get_length( &plongnumberofelements);
if ( hr3 == S_OK )
for ( int i=0; i< plongnumberofelements; i++ )
{
VARIANT varIndex;
varIndex.vt = VT_UINT;
varIndex.lVal = i;
VARIANT var2;
VariantInit( &var2 );
IDispatch* pDisp;
HRESULT hr4;
hr4 = pElements->item( varIndex, var2, &pDisp );
BSTR pppp;
IHTMLScriptElement* pIElem;
pDisp->QueryInterface(IID_IHTMLScriptElement,(LPVOID*) &pIElem);

pIElem->get_text(&pppp);
Memo1->Lines->Add(WideChar(pppp)); /// может здесь ошибка...

}
}


}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.