for i:=0 to  listbox1.Count-1 do
  begin
      yun:='http://211.96.10.38/view.jsp?task_id='+listbox1.Items[i];
       webbrowser1.Navigate (yun,a,b,c,d);
       doc:=webbrowser1.document as ihtmldocument2 ;
       yun:=Doc.body.Get_outerHTML;
        
    assignfile(f, listbox1.Items[i]+'.htm');
   rewrite(f);
 writeln(f,yun);
reset(f);
    end;
 我把网址 放在 listbox中,想通过循环提取 网页 原文件,但是 所有 生成的文件都是同一个文件,也不知道 错在哪里? yun 的值根本就不变,不知道为什么?

解决方案 »

  1.   

    达到你的要求需要用多线程进行操作!也就是循环生成多个线程,每个线程动态生成一独立WebBrowser进行代码的获得!至于原因?做个实验:
    WebBrowser1.Navigate('http://www.csdn.net/');
    showmessage('Test');对话框会在网页加载完后弹出吗?当然不会,因为加载网页并不在主线程中运行!这也就是为什么那些多窗口浏览器都号称多线程的原因!