写入:
procedure TForm1.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.btn_1Click(Sender: TObject);
var
S: TStringStream;
begin
S := TStringStream.Create(mm1.Text);
try
LoadStream(wb1,S);
finally
s.Free;
end;
end;
读取就很简单了,这里不再阐述。
本文介绍了如何利用TStringStream与TWebBrowser在Delphi中进行数据加载与处理,包括从流中读取数据并将其加载到Web浏览器中。详细步骤包括初始化组件、导航至空白页面、确保页面加载完成、将流数据复制至内存流、创建IStream适配器,并最终将数据加载至Web浏览器。
1321

被折叠的 条评论
为什么被折叠?



