Bonjour à toute et tous,

Je voudrai calculer et mesruer le temps d'une dizaine de website , pour cela j'utilise un memo dont je charge la liste des URL et puis je charge un par un dans un composant TWebBrowser dont j'utilse les functions suisvantes :

WebBrowser1DownloadBegin
WebBrowser1DownloadComplete
WebBrowser1DocumentComplete
WebBrowser1NavigateComplete2


Normalement pour un seul site y a aucun probleme je peux avoir toutes les mesures que je veux en passant par les 4 functions mentionées .
mais dès que je commence à charger plus d'1 site je rencontre de probleme cad que le code charge directement la dernière ligne dans le memo .

Y a t-il qlq'1 qui pourrait me dire ou il est le hic ?

Voici le code :




Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
procedure TForm1.WebBrowser1DownloadBegin(Sender: TObject);
begin
 
   ListBox1.Items.Add('Download Begin for ' + edit1.Text + ' , ' + WebBrowser1.LocationURL );
  ListBox1.Refresh;
  StatusBar1.SimpleText:='Ouverture de '+ WebBrowser1.LocationName;
end;
 
procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
var diff : DWORD ;
begin
  ListBox1.Items.Add('Download Completed for ' + edit1.Text + ' , ' + WebBrowser1.LocationName );
 ListBox1.Refresh;
 StatusBar1.SimpleText:='Terminé';
 
end;
 
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
  var diff : DWORD;
begin
 ListBox1.Items.Add('Document Completed for ' +  WebBrowser1.LocationURL );
 ListBox1.Refresh;
 if (pDisp = CurDispatch) then
  begin
    Beep; {the document is loaded, not just a frame }
    CurDispatch := nil; {clear the global variable }
  end;
end;
 
procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var diff : DWORD ;
begin
  ListBox1.Items.Add('Navigate Complete ,'+ '('+ inttostr(diff)+')');
  ListBox1.Refresh;
  if CurDispatch = nil then
    CurDispatch := pDisp; { save for comparison }
 
end;
 
 
procedure TForm1.Button6Click(Sender: TObject);
var i:integer;
begin
  if Memo1.Lines.Count <> 0 then
  begin
    listbox1.Clear;
    for i:=0 to memo.lines.count -1 do
    begin
       edit1.Text := Memo1.Lines.Strings[0] ;
       edit1.Refresh;
       repeat 
               sleep(10);
       until CurDispatch <> nil;
       WebBrowser1.Navigate(Edit1.Text);
    end;
 end
  else Showmessage('Execute what !!!') ;
end;


Merci de votre aide.
koul