如题
CreateThread一个线程
然后在线程内进行 WebBrowser.OleObject.document.anchors.Length
之类的操作

解决方案 »

  1.   

    添加临界区,防止同时操作WebBrowser,排队进入临界区
      

  2.   

    function TThread(lpParam: PTaskInfo):DWORD; stdcall;
    begin
     EnterCriticalSection(lpCriticalSection);
     CoInitialize(nil);
     TWebBrowser(lpParam^.lpWeb).Navigate('http://www.163.com/');
     while TWebBrowser(lpParam^.lpWeb).Busy do Sleep(50);
     for iLen := 0 to TWebBrowser(lpParam^.lpWeb).OleObject.document.anchors.Length - 1 do // 出错
     begin
      iHref := TWebBrowser(lpParam^.lpWeb).OleObject.document.anchors.item(iLen).href;
      if ((Pos('acfun.tk', iHref) <> 0) or (Pos('://', iHref) = 0)) and (iHref <> '') then lpLinks.Add(iHref);
     end;
    ..................................
    end;