![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
доброго времени суток
Есть Delphi 7 Непонятная проблема. Помещаю на форму WebBrowser. Создаю обработчик события нажатия на кнопку, однако, методы WebBrowser.OleObject. не отображаются. Подключены все необходимые модули, включая ComObj, OleCtrls, ComCtrls, Activex; Подскажите, почему я не могу вызвать WebBrowser.OleObject.Documet и тд? |
|
#2
|
||||
|
||||
|
WebBrowser1.Document
|
|
#3
|
|||
|
|||
|
Замечательно, думал об этом, однако, требуется применять
WebBrowser1.OleObject.document.getelementbyid А если через WebBrowser.document. , то доступны только GetTypeInfoCount и GetTypeInfo на этом список Get ограничивается. |
|
#4
|
||||
|
||||
|
Цитата:
применяй на здоровье: Код:
var HTMLDocument: IHTMLDocument3; HTMLDocument:=WebBrowser1.Document as IHTMLDocument3; HTMLDocument.getElementById |
|
#5
|
|||
|
|||
|
Добавил модуль MSHTML
Добавил переменную. Но, увы, набор методов у неё абсолютно тот же, что и у webBrowser.document .... В чем прикол? |
|
#6
|
||||
|
||||
|
Код:
uses
MSHTML,
type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure TForm1.Button1Click(Sender: TObject);
var
HTMLDocument: IHTMLDocument3;
begin
WebBrowser1.Navigate('http://j2me.webservis.ru/matrix/Matrix.htm');
while WebBrowser1.ReadyState<READYSTATE_COMPLETE do
Application.ProcessMessages;
HTMLDocument:=WebBrowser1.Document as IHTMLDocument3;
Caption:=HTMLDocument.getElementById('cell11').tagName;
end;http://data.cod.ru/134124 |
|
#7
|
|||
|
|||
|
Спасибо большое - действительно работает, хотя и не отображает методы в выпадающем меню.
|
|
#8
|
||||
|
||||
|
Цитата:
|
|
#9
|
||||
|
||||
|
Ctrl+<самая большая клавиша>
![]() |
|
#10
|
|||
|
|||
|
Не совсем так. Задавая вопрос я надеялся что кто-нибудь посоветует что именно и как подключать (про библиотеки)
Для начала, оказывается, нужно подключать библиотеку типов соответствующей системы. А так делфи не будет знать этих методов. В примере очевидно одна из таких библиотек подключена. У меня её нет. Но работать можно и без библиотеки. Достаточно прочитать документацию к объекту, с которым приходится работать. А вот за структуру Код:
while WebBrowser1.ReadyState<READYSTATE_COMPLETE do
Application.ProcessMessages;
HTMLDocument:=WebBrowser1.Document as IHTMLDocument3;спасибо, это очень помогло. Последний раз редактировалось Darjeeling, 02.12.2011 в 08:32. |
|
#11
|
||||
|
||||
|
Цитата:
естественно, что при позднем связывании и о каких подсказках IDE не может быть и речи. вот поэтому подключив модуль MSHTML, исходник которого можно импортировать из библиотеки типов c:\WINDOWS\system32\mshtml.tlb и применив раннее связывание IDE будет нам подсказывать и работать станет приятнее) |
|
#12
|
|||
|
|||
|
Добавил библиотеку.
Да, это, то что было нужно=) +1 |