按纽事件Button15Click(Sender: TObject)
EmbeddedWB1.OleObject.Document.body.bgcolor :='#eeeeee';
在调试状态没有问题但如果把
EmbeddedWB1.OleObject.Document.body.bgcolor :='#eeeeee';
放在
TCPClient1Read(ASkt: Integer; AData: PAnsiChar;
  ADataLen: Integer);过程里(此过程是tcpClient客户端的读响应事件)TCPClient1.OnRead:= TCPClient1Read;就会出现address 4190B0DF in module 'mshtml.dll'.Read of address 00000190这个错误提示真是怪了

解决方案 »

  1.   

    自己顶
    webbrower难道有限制??
      

  2.   

    你的webbrowser打开某个页面了吗?
    如果没有打开页面,调用oleobject时就会报错
    建议在打开窗体的时候先执行
    webbrowser1.navigate('about:blank');
    打开一个空页面,不会影响程序,还能避免其他一些错误
      

  3.   

    我在窗体创建的时候就执行
    webbrowser1.navigate('about:blank'); 
    并且,点按纽,单独执行EmbeddedWB1.OleObject.Document.body.bgcolor :='#eeeeee'; 
    是没有问题的
    但如果放在
    TCPClient1.OnRead:= TCPClient1Read; 
    的TCPClient1Read的触发事件中,就会有错
      

  4.   

    //改成读写innerHtml
    var
      Doc : IHTMLDocument2;
      sbody:IHtmlElement;
    begin
      Doc := IHTMLDocument2(EmbeddedWB1.Document);
      if nil <> Doc then
      begin
        sbody:=Doc.body;
        Memo1.Lines.Add(sbody.innerHTML); //读内容没错
        sbody.innerHTML:='<div>hfff</div>'; //写内容就有出错
      end;
    end;
      

  5.   

    遇上了跟楼主一样的情况,不过我是放在服务端IdTCPServerExecute(AThread: TIdContext);里面。
    放在这里面就报错,放在ButtonClick里再去点击这个Button就正常。
    里面有个WebBrowser1.OleObject.document.all.item('ser', 0).value的值,而且还能读,
    但一给他赋值就报错:Access violation at address 3F7FB757in module 'mshtml.dll'. Read of address 00000190环境是DEIPHI7 INDY9和10都分别试过,同样报错,等高手解答。