| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > TWebBrowser: доступ к элементам web документа |
| Автор: OlexXX 26.9.2009, 05:14 |
| Вот простой кусок кода на Delphi: var Source:String; begin Source:=WebBrowser1.OleObject.Document.Images.Item(0).Src; ... как этот кусок перевести в Builder c++, чтобы было также просто? :( ПС По идее, мне нужно добраться до Document->GetElementById() |
| Автор: OlexXX 26.9.2009, 05:58 |
| Ну, скажем, добрался я до того, что хотел... Почти... IHTMLDocument2 *pHTMLDocument = NULL; IHTMLElementCollection *pAll, *pObj; if(SUCCEEDED(WebBrowser1->Document->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&pHTMLDocument))) { pHTMLDocument->get_all(&pAll); if(pAll) { pAll->item(TVariant("Player"),0, &pObj) pObj->Release(); pAll->Release(); } } pHTMLDocument->Release(); НО вот тут ругается: pAll->item(TVariant("Player"),0, &pObj) [C++ Error] Unit1.cpp(46): E2031 Cannot cast from 'char *' to 'TVariant' Буду благодарен за подсказку. Добавлено через 11 минут и 16 секунд Мммм.... Все получилось. Вот конечный код: IHTMLDocument2 *pHTMLDocument = NULL; IHTMLElementCollection *pAll; if(SUCCEEDED(WebBrowser1->Document->QueryInterface(IID_IHTMLDocument2, (LPVOID*)&pHTMLDocument))) { pHTMLDocument->get_all(&pAll); if(pAll) { IDispatch *pObj; pAll->item(Variant(WideString("Player")),Variant(0), &pObj); pObj->Release(); pAll->Release(); } } pHTMLDocument->Release(); А теперь самый главный вопрос Собственно, все это было нужно для получения интерфейса объекта плеера на вебстраничке. КАК ТЕПЕРЬ обратиться к методам этого объекта? С интерфейсами не работал. :( |
| Автор: OlexXX 27.9.2009, 18:39 |
| Ап :( |