Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.12.2011, 12:29
Darjeeling Darjeeling вне форума
Прохожий
 
Регистрация: 01.12.2011
Сообщения: 10
Репутация: 10
По умолчанию Проблема с использованием OleObject

доброго времени суток

Есть Delphi 7

Непонятная проблема. Помещаю на форму WebBrowser. Создаю обработчик события нажатия на кнопку, однако, методы WebBrowser.OleObject. не отображаются. Подключены все необходимые модули, включая ComObj, OleCtrls, ComCtrls, Activex;

Подскажите, почему я не могу вызвать WebBrowser.OleObject.Documet и тд?
Ответить с цитированием
  #2  
Старый 01.12.2011, 12:58
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

WebBrowser1.Document
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 01.12.2011, 13:05
Darjeeling Darjeeling вне форума
Прохожий
 
Регистрация: 01.12.2011
Сообщения: 10
Репутация: 10
По умолчанию Проблема с использованием OleObject

Замечательно, думал об этом, однако, требуется применять

WebBrowser1.OleObject.document.getelementbyid

А если через WebBrowser.document. , то доступны только GetTypeInfoCount и GetTypeInfo на этом список Get ограничивается.
Ответить с цитированием
  #4  
Старый 01.12.2011, 14:18
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Darjeeling
доступны только GetTypeInfoCount и GetTypeInfo
а чего ты хотел от IDispatch?

применяй на здоровье:
Код:
var
  HTMLDocument: IHTMLDocument3;

HTMLDocument:=WebBrowser1.Document as IHTMLDocument3;
HTMLDocument.getElementById
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 01.12.2011, 15:02
Darjeeling Darjeeling вне форума
Прохожий
 
Регистрация: 01.12.2011
Сообщения: 10
Репутация: 10
По умолчанию Проблема с иcпользованием OleObject

Добавил модуль MSHTML

Добавил переменную.

Но, увы, набор методов у неё абсолютно тот же, что и у webBrowser.document

....

В чем прикол?
Ответить с цитированием
  #6  
Старый 01.12.2011, 15:08
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
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  
Старый 01.12.2011, 15:23
Darjeeling Darjeeling вне форума
Прохожий
 
Регистрация: 01.12.2011
Сообщения: 10
Репутация: 10
По умолчанию Проблема с иcпользованием OleObject

Спасибо большое - действительно работает, хотя и не отображает методы в выпадающем меню.
Ответить с цитированием
  #8  
Старый 01.12.2011, 15:38
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от Darjeeling
хотя и не отображает методы в выпадающем меню.
С OLE всегда так, привыкайте.
__________________
Google в помощь
Ответить с цитированием
  #9  
Старый 01.12.2011, 16:00
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Ctrl+<самая большая клавиша>
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #10  
Старый 02.12.2011, 08:27
Darjeeling Darjeeling вне форума
Прохожий
 
Регистрация: 01.12.2011
Сообщения: 10
Репутация: 10
Сообщение Проблема с иcпользованием OleObject

Не совсем так. Задавая вопрос я надеялся что кто-нибудь посоветует что именно и как подключать (про библиотеки)

Для начала, оказывается, нужно подключать библиотеку типов соответствующей системы. А так делфи не будет знать этих методов. В примере очевидно одна из таких библиотек подключена. У меня её нет.

Но работать можно и без библиотеки. Достаточно прочитать документацию к объекту, с которым приходится работать.

А вот за структуру

Код:
  while WebBrowser1.ReadyState<READYSTATE_COMPLETE do
    Application.ProcessMessages;
  HTMLDocument:=WebBrowser1.Document as IHTMLDocument3;

спасибо, это очень помогло.

Последний раз редактировалось Darjeeling, 02.12.2011 в 08:32.
Ответить с цитированием
  #11  
Старый 02.12.2011, 09:07
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от Darjeeling
Не совсем так.
что именно?
естественно, что при позднем связывании и о каких подсказках IDE не может быть и речи. вот поэтому подключив модуль MSHTML, исходник которого можно импортировать из библиотеки типов c:\WINDOWS\system32\mshtml.tlb и применив раннее связывание IDE будет нам подсказывать и работать станет приятнее)
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #12  
Старый 02.12.2011, 09:42
Darjeeling Darjeeling вне форума
Прохожий
 
Регистрация: 01.12.2011
Сообщения: 10
Репутация: 10
Хорошо Проблема с иcпользованием OleObject

Добавил библиотеку.

Да, это, то что было нужно=)

+1
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter