procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
var D : IHTMLDocument2;
begin
D := (WebBrowser1.Document as IHTMLDocument2);
d.designMode := 'On';
end;WebBrowser1中能正常显示网页,但是执行到d.designMode := 'On'时便出错,
运行时错误
=> d.designMode := 'On';
Access violation at address 00459F20 in module 'Project1.exe'. Read of address 00000000.
请问是什么原因?谢谢。

解决方案 »

  1.   

    designMode好像是IFrame才有的属性.不是很清楚.
      

  2.   


    (WebBrowser1.Document as IHtmlDocument2).designMode:='on';
    没问题
    你的WebBrowser1先Navigate了没有啊
      

  3.   

    当然Navigate啦,否则怎么显示网页
      

  4.   

    procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    var
      CurrentWB: IWebBrowser;
    begin
      CurrentWB := pDisp as IWebBrowser;
      (CurrentWB.Document as IHTMLDocument2).DesignMode := 'On';
    end;(注:在「OnDocumentComplete」event上試試)
      

  5.   

    你应该改成如下就可以了:
    WebBrowser1.OleObject.document.designMode := 'on'
      

  6.   

    (WebBrowser1.Document as IHTMLDocument2).execCommand('EditMode',false,EmptyParam);试试这样的