Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2010, 20:27   #1
dacorp
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 48
Вопрос Свойства TWebBrowser

День добрый!
Возникла проблема при обработке события динамически созданного компонента TWebBrowser:
Код:
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure BrowserDocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Browser: TWebBrowser;

implementation
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Browser:=TWebBrowser.Create(Form1);
Form1.InsertControl(Browser);
Browser.Top:=0;
Browser.Left:=0;
Browser.Height:=100;
Browser.Width:=100;
Browser.Align:=alClient;
Browser.Visible:=true;
Browser.Navigate('http://www.yandex.ru');
end;

procedure TForm1.BrowserDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
 ShowMessage('Done');
end;
Отказывается срабатывать собитие onDocumentComplete Подскажите, пожалуйста, как подключить его к созданному во время работы объекту?
dacorp вне форума Ответить с цитированием
Старый 26.12.2010, 23:27   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

объекту надо назначить процедуру для обработки этого события,

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
Browser:=TWebBrowser.Create(Form1);
....
......
Browser.OnDocumentComplete:=BrowserDocumentComplete;
...
...
end;
к тому же ваше сообшение будет появлятся при загрузке каждого фрейма,

вот пример как Использовать событие OnDocumentComplete у TWebBrowser при наличии фреймов

Код:
 procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
   const pDisp: IDispatch; var URL: OleVariant);
 var
   CurWebrowser: IWebBrowser;
   TopWebBrowser: IWebBrowser;
   Document: OleVariant;
   WindowName: string;
 begin
   CurWebrowser := pDisp as IWebBrowser;
   TopWebBrowser := (Sender as TWebBrowser).DefaultInterface;
   if CurWebrowser = TopWebBrowser then
     ShowMessage('Complete document was loaded')
   else
   begin
     Document := CurWebrowser.Document;
     WindowName := Document.ParentWindow.Name;
     ShowMessage(Format('Frame "%s" was loaded', [WindowName]));
   end;
 end;
пример не мой, взял на delphiworld
http://delphiworld.narod.ru/base/wb_...pl_frames.html
vovk вне форума Ответить с цитированием
Старый 27.12.2010, 02:06   #3
dacorp
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 48
По умолчанию

Спасибо большое! Вы мне очень помогли! Буду разбирать!
dacorp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
свойства системы netbioz Компьютерное железо 2 04.07.2010 18:02
VlueListEditor свойства Irnil Компоненты Delphi 0 09.06.2010 22:02
Incompatible types: 'Unit1.TWebBrowser' and 'SHDocVw.TWebBrowser' simon15x Общие вопросы Delphi 0 10.04.2010 03:11
Свойства Label Vladya Общие вопросы Delphi 5 16.03.2009 14:10
Свойства файла ruPy Общие вопросы Delphi 2 11.01.2008 19:37