5,392
社区成员
发帖
与我相关
我的任务
分享
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;