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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2012, 10:17   #1
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию как проверить загрузилась ли страница в WebBrowser1 или нет

Собственно ответ я знаю, можно так
Код:
procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
begin
ShowMessage('OK');
end;
Но почему то не срабатывает.
Вот мой исходник
Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdIOHandler, IdIOHandlerSocket,
  IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdCookieManager, IdBaseComponent,
  IdComponent,ActiveX, IdTCPConnection, IdTCPClient, IdHTTP, Vcl.StdCtrls, Vcl.OleCtrls,
  SHDocVw, Vcl.ComCtrls, Vcl.ExtCtrls, Unit2;

type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    IdCookieManager1: TIdCookieManager;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    WebBrowser1: TWebBrowser;
    Button2: TButton;
    Button3: TButton;
    Memo1: TMemo;
    ListBox1: TListBox;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    ProgressBar1: TProgressBar;
    Panel1: TPanel;
    Panel2: TPanel;
    Button1: TButton;

    procedure Button6Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure WebBrowser1DownloadComplete(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  S_Edit1: string;
  S_Edit2: string;
  S_Edit3: string;
  S_Edit4: string;
  S_Edit5: string;
  S_Edit6: string;
  S_Edit7: string;
  S_Edit8: string;
  S_Edit9: string;
  S_Edit10: string;
  

implementation

{$R *.dfm}
 //Функция для обработки исходного когда
function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;
 var
   ps: IPersistStreamInit;
   ss: TStringStream;
   sa: IStream;
   s: string;
 begin
   ps := WebBrowser.Document as IPersistStreamInit;
   s := '';
   ss := TStringStream.Create(s);
   try
     sa := TStreamAdapter.Create(ss, soReference) as IStream;
     Result := Succeeded(ps.Save(sa, True));
     if Result then ACode.Add(ss.Datastring);
   finally
     ss.Free;
   end;
 end;
 //Кнопка Start

procedure TForm1.Button1Click(Sender: TObject);

begin
WebBrowser1.Navigate('http://google.ru/');

end;

procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
begin
ShowMessage('OK');
end;

 // Кнопка Search Engines Options



procedure TForm1.Button6Click(Sender: TObject);
begin
if (not Assigned(Form2)) then   // проверка существования Формы (если нет, то
       Form2:=TForm2.Create(Self);    // создание Формы)
   Form2.ShowModal; // (или Form2.ShowModal) показ Формы
end;

end.
bakanaev вне форума Ответить с цитированием
Старый 02.08.2012, 10:34   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

не Download, а DocumentComplete как то так.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.08.2012, 10:38   #3
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Пепел Феникса, да есть и такое, особой разницы в моем случае нет.
Код:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject);
begin
ShowMessage('OK');
end;
Тоже сообщение не выскакивает(((
Почему не могу понять((
Вот тут люди обсуждали http://www.cyberforum.ru/delphi-begi...ead263841.html
У них все выходит, у меня нет(
bakanaev вне форума Ответить с цитированием
Старый 02.08.2012, 14:29   #4
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Подскажите пожалуйста что не так я делаю
bakanaev вне форума Ответить с цитированием
Старый 03.08.2012, 10:13   #5
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Вопрос решен. Не работал по тому что я прописывал функцию руками .
Код:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject);
begin
ShowMessage('OK');
end;
А надо было двойным щелчком по OnDocumentComplete во вкладке Events компонента WebBrowser.
bakanaev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как проверить открыто приложение Outlook или нет? Freerider1972 Microsoft Office Excel 4 20.07.2011 17:59
Как проверить скрыто окно или нет? BuT@JL Общие вопросы Delphi 9 13.11.2009 15:19
Как проверить запущено приложение или нет? kiber0net0 Общие вопросы Delphi 2 18.09.2008 19:48
Как узнать загрузилась ли страница в webbrowser? Pedro Работа с сетью в Delphi 5 22.08.2007 22:00