type TForm1 = class(TForm) pnl1: TPanel; btn1: TButton; pnl2: TPanel; wb1: TWebBrowser; pnl3: TPanel; mmo1: TMemo; procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm} procedure LoadStream(WebBrowser:TWebBrowser; Stream:TStream); var PersistStreamInit: IPersistStreamInit; StreamAdapter: IStream; MemoryStream: TMemoryStream; begin WebBrowser.Navigate('about:blank'); repeat Application.ProcessMessages; Sleep(0); until WebBrowser.ReadyState=READYSTATE_COMPLETE; if WebBrowser.Document.QueryInterface(IPersistStreamInit,PersistStreamInit)=S_OK then begin if PersistStreamInit.InitNew=S_OK then begin MemoryStream:=TMemoryStream.Create; try MemoryStream.CopyFrom(Stream,0); MemoryStream.Position:=0; except MemoryStream.Free; raise; end; StreamAdapter:=TStreamAdapter.Create(MemoryStream,soOwned); PersistStreamInit.Load(StreamAdapter); end; end; end;
procedure TForm1.btn1Click(Sender: TObject); var S: TStringStream; begin S:= TStringStream.Create(mmo1.Text); try LoadStream(wb1,S); finally S.Free; end;