Как загрузить потоковые(stream) данные в WebBrowser не прибегая к открытию файла?

Previous  Top  Next

    
 

 

 

Взято из FAQ:http://blackman.km.ru/myfaq/cont4.phtml

Перевод материала с сайта members.home.com/hfournier/webbrowser.htm

 

Code:

function TForm1.LoadFromStream(const AStream: TStream): HRESULT;

begin

AStream.seek(0, 0);

Result := (WebBrowser1.Document as IPersistStreamInit).Load(TStreamAdapter.Create(AStream));

end;

 

 

 

Автор: Per Larsen

 

Примечание от Vit

 

1. В Uses добавить ActiveX

2. Если в TWebBrowser ничего не загружено то код выдаёт Access Violation

Исправляется следующим образом:

Code:

function TForm1.LoadFromStream(const AStream: TStream): HRESULT;

{©Drkb v.3(2007): www.drkb.ru,

®Vit (Vitaly Nevzorov) - nevzorov@yahoo.com}

begin

AStream.seek(0, soFromBeginning);

WebBrowser1.Navigate('about:blank');

Result := (WebBrowser1.Document as      IPersistStreamInit).Load(TStreamAdapter.Create(AStream));

end;

 

 

 

©Drkb::03454

Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)