Całkowite zaladowanie doc do Webbrowser

0

Jak sprawdzić w kodzi Delphi czy dokument HTMl został całkowicie załadowany do komponentu Webbrowser?

//w ListBox znajduja sie adresy stron WWW do zaladowania w komponencie WebBrowser1
procedure TForm1.Button4Click(Sender: TObject);
var
 i : Integer;
begin
 ListBox1.Items.Count; //pobiera ilosc wpisow w ListBox

 //laduje po koleji wszystkie strony do WebBrowser
 for i := 0 to ListBox1.Items.Count-1 do
  begin
   ComboBox1.Text := ListBox1.Items.Strings[i];
   WebBrowser1.Navigate(ListBox1.Items.Strings[i]);
   /*tutaj chcec sprawdzic czy strona zostala zaldowana calkowicie w Webbrowser; jesli tK TO WYKONAC
kod np.: pobrac tresc strony!!
   */

  end;
end;
0
mobMan napisał(a)

Jak sprawdzić w kodzi Delphi czy dokument HTMl został całkowicie załadowany do komponentu Webbrowser?

//w ListBox znajduja sie adresy stron WWW do zaladowania w komponencie WebBrowser1
procedure TForm1.Button4Click(Sender: TObject);
var
 i : Integer;
begin
 ListBox1.Items.Count; //pobiera ilosc wpisow w ListBox

 //laduje po koleji wszystkie strony do WebBrowser
 for i := 0 to ListBox1.Items.Count-1 do
  begin
   ComboBox1.Text := ListBox1.Items.Strings[i];
   WebBrowser1.Navigate(ListBox1.Items.Strings[i]);
   /*tutaj chcec sprawdzic czy strona zostala zaldowana calkowicie w Webbrowser; jesli tK TO WYKONAC
kod np.: pobrac tresc strony!!
   */

  end;
end;

var wsio:boolean;

procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
 begin
   wsio:=true;
end;

procedure TForm1.Button4Click(Sender: TObject);
var
 i : Integer;
begin
 ListBox1.Items.Count; //pobiera ilosc wpisow w ListBox

 //laduje po koleji wszystkie strony do WebBrowser
 for i := 0 to ListBox1.Items.Count-1 do
  begin
   ComboBox1.Text := ListBox1.Items.Strings[i];
   WebBrowser1.Navigate(ListBox1.Items.Strings[i]);
   if wsio = true then 
   schowmessage('strona jest załadowana')
   else
     schowmessage('strona nie jest zaladowana');
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
wsio:=false;
end;
0

Pomysł fajny ale efekt jest inny od porządanego. Pętla przeskakuje po wsyztskich adresach z ListBox1 i próbuje je załadować nie czekając na wsio = true! tak, że cały czas wsio jest ustawione na fals!

...

   ComboBox1.Text := ListBox1.Items.Strings[i];
   WebBrowser1.Navigate(ListBox1.Items.Strings[i]);

   Repeat
    Memo1.Lines.Add('as');
   Until wsio = false;

   if wsio = true then
    Memo1.Lines.Add('Strona zaladowana...')
   else
    Memo1.Lines.Add('Strona nie zaladowana...');
   end;
...

wstawiłem nawet taki kod ale nic to nie daje!

0

było i to bardzo niedawno. używajcie wyszukiwarki! http://4programmers.net/Forum/321861

1 użytkowników online, w tym zalogowanych: 0, gości: 1