TWebBrowser is a wrapper for Internet Explorer COM interface. The most common way to use TWebBrowser is using Navigate method that accept a URL string. However, this is not convenient for user who already has a rendered HTML string or stream. One workaround solution for this is save the string or stream to a temporary file and use supply a local file URL to TWebBrowser.Navigate.
Here is a solution for supplying a HTML stream to TWebBrowser:
uses ActiveX;
const IID_IPersistStreamInit : TGUID = '{7FD52380-4E07-101B-AE2D-08002B2EC713}';
procedure TForm19.Button1Click(Sender: TObject);
var S: TStream;
o: IPersistStreamInit;
begin
S := TStringStream.Create('<html><body>this is a test</body></html>');
try
WebBrowser1.Navigate('about:blank');
while WebBrowser1.ReadyState <> Shdocvw.READYSTATE_COMPLETE do
Application.ProcessMessages;
if Supports(WebBrowser1.Document, IID_IPersistStreamInit, o) then
o.Load(TStreamAdapter.Create(S));
finally
S.Free;
end;
end;
No comments:
Post a Comment