Webbrowser是浏览硬盘上或网络上的文件地址,不是浏览你的内存地址,你把memorystream流存成文件再显示吧

解决方案 »

  1.   

    需要用SafeArray,范例:var
       Document1: IHtmlDocument2;
       v:oleVariant;
    begin
      wb.Navigate('about:blank');
      Document1 := wb.Document as IHtmlDocument2;
      if (Assigned(Document1)) then begin
        v := VarArrayCreate([0, 0], varVariant);
        v[0] := '<html>.............</html>';
        Document1.Write(PSafeArray(TVarData(v).VArray));
        Document1.Close;
      end;
    end;
      

  2.   

    to TechnoFantasy(www.applevb.com):
       IHtmlDocument2是哪个单元的,是不是要加个接口??
    是不是把流存到safeArray里,Document1.Read(...)
    然后 navigate(what???)[email protected]多联系
      

  3.   

    var
      ls: TStrings;
      Html: IHtmlDocument2;
    begin
      ls := TStringList.Create;
      ls.LoadFromStream(YourStream);
      Html.Body.innerHtml := ls.Text;
      ls.Free;
    end;
      

  4.   

    to alldog(芸芸众生)
    要Use MSHTML
      

  5.   

    to cgxp(宁采臣):
    不行呀?? 
    Html.Body.innerHtml := ls.Text; Abstract Error!!to TechnoFantasy(www.applevb.com):
    怎么把流中的文档逐行存进SafeArray里呢?
      

  6.   

    我这么写总是出错,为什么???
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, OleCtrls, SHDocVw,activex,mshtml;type
      TForm1 = class(TForm)
        WebBrowser1: TWebBrowser;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        procedure ShowHtml(Browser:TWebBrowser;content:string);
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.ShowHtml(Browser:TWebBrowser;content: string);
    var
        vv: Variant;
        HTMLDocument: IHTMLDocument2;
    begin
            vv := VarArrayCreate([0,0],varVariant);
            vv[0] := content;
            HTMLDocument := browser.Document as IHTMLDocument2;
            HTMLDocument.write(PSafeArray(TVarData(vv).VArray));
            HTMLDocument.charset := 'gb2312';
            HTMLDocument.close;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    ShowHtml(WebBrowser1,'<html><head></head><body>ff</body><html>');
    end;end.
      

  7.   

    HTMLDocument := browser.Document as IHTMLDocument2;中的bowser改成你用的webbrowser1
      

  8.   

    不好意思,大家帮帮我谢谢
    http://www.csdn.net/Expert/topic/446/446813.shtm
      

  9.   

    to alldog(芸芸众生) 
    这使用过程ShowHtml做的
    我调用ShowHtml(WebBrowser1,'<html><head></head><body>ff</body><html>');
    程序编译通过,就是出现一个错误!!
    Access violation at address 004548D5 in module 'PROJECT.exe' Read of address FFFFFFFF.