有一个列表,里面有多个网页,如何来循环访问每个网页并保证访问成功?如果单纯用FOR循环好像只能最后一个成功,请问中间如何来使用延迟来处理?

解决方案 »

  1.   

    就是用webbrowser访问网页。在for循环中怎么样判断是否成功呢?我有一个全局变量在WebBrowser1NavigateComplete2事件中会改变状态来表示访问成功。
      

  2.   

    判断WebBrowser1.ReadyState < READYSTATE_COMPLETE
      

  3.   

    for i := 0 to memo1.Lines.Count - 1 do
      begin
        webbrowser1.Navigate(memo1.Lines.Strings[i]);
       
      end;
    就是这个for循环,大家看看应该怎样修改?谢谢
      

  4.   

    for i := 0 to memo1.Lines.Count - 1 do 
      begin 
        //你在这里再判断下当前是否正常打开,是则继续打开下1个否责重复打开当前的(注意这里规定1个次数)。
        webbrowser1.Navigate(memo1.Lines.Strings[i]); 
      
      end; 
      

  5.   

    kfcoffe:
      能写一下具体怎么写吗?关键是循环中如何等待网页访问成功的代码!
      

  6.   

      for i := 0 to memo1.Lines.Count - 1 do 
      begin    webbrowser1.Navigate(memo1.Lines.Strings[i]);
        while webbrowser1.ReadyState<>READYSTATE_COMPLETE do
          Application.ProcessMessages;
      end;
      

  7.   

    kfcoffe:
      随便再问一下,这个方法,如果网页出错或有其他问本身无法访问,将会如果处理。