如何等待当前网页已下载完毕?,要用什么控件?用程序监视某网页下载完毕后,执行其他的代码,请指教!

解决方案 »

  1.   

    如果用WebBrowser控件,可以这样:
    WebBrowser的onDocumentCompletes事件在一个有frame的网页上会被调用几次(看几个frame)可以用OnBeforeNavigate2跟OnDocumentComplete一起配合使用,首先Declare 一个变量 FirstpDisp在浏览URL前。把FirstpDisp置为nil.然后浏览url第一次调用OnBeforeNavidate是最早的Frame,它会传给一个pDisp: IDispatch给事件。你把这个变量保存到FirstpDisp里。这个最早的Frame的onDocumentComplete事件会最后发生,这时其它Frame已经下载完了。
    你只要在OnDocumentComplete事件里判断一下,传给事件的参数pDisp: IDispatch 跟FirstpDisp是不是相等就可以知道整个带Frame的网页下载完没.
      

  2.   

    我是穷人本想敲你一把,想想还是算了你也是穷人。记得分都给我呀:),不给也浪费了。
    正确答案:  private
        procedure FindAddress;var
      j:integer;
    procedure TForm1.FindAddress();
    var
      strURL:string;
    begin
      strURL = ListView.item[j].Caption;
      webbrowser1.Navigate(strURL);end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      j:= 0;
      findAddress; 
    end;procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; Progress, ProgressMax: Integer);
    begin
      j := j+1;
      FindAddress;
    end;==================
    因为是随手打的可能会出现错误,不懂时再问我。