var
  IpStream: IPersistStreamInit;
我这样输入,显示错误,是否要在uses 中加入什么单元文件,是什么呢?

解决方案 »

  1.   

    如何不用Navigate调入文件,直接往TWebBrowse中写Html语句呢……
    必须用webbrowser的ipersiststreaminit来save过的stream才能正确的被
    load,用ie保存的就不行。下面的例子可以正确载入
    begin
      filestream:=TMemoryStream.Create;
      browser1.Navigate('www.chinaren.com');
      browser1.SaveTostream(filestream);
      filestream.Position:=0;
      browser2.LoadFromStream(filestream);
      filestream.Free;
    end;function SaveToStream(AStream: TStream): HRESULT;
    var
      IpStream: IPersistStreamInit;
    begin
      with browser1 do
      begin
      while ReadyState <> READYSTATE_COMPLETE do
        Forms.Application.ProcessMessages;
      if Assigned(Document) then
      begin
        IpStream := Document as IPersistStreamInit;
        Result := IpStream.save(TStreamAdapter.Create(AStream), TRUE);
      end else Result := S_FALSE;
      end;
    end;function Loadfromstream(AStream:TStream):hresult;
    begin
      with browser1 do
      begin
      if not Assigned(Document) then
      begin
        navigate2('about:blank',0,0,0,0);
        while readystate <> READYSTATE_COMPLETE do Forms.Application.ProcessMessages;
      end;
      AStream.seek(0, 0);
      Result := (Document as IPersistStreamInit).Load(TStreamadapter.Create(AStream));
      end;
    end;