|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole 5 d" \/ i* `( Z+ q
an;
) w" @! Z- w3 X3 Zvar
% F4 U! Q T8 V5 t( W. f Stream: TStringStream;
5 {3 G; x& [- T: W! B) v7 O Adapter: TStreamAdapter; / r {& c8 v- b9 ~& b7 R) o
begin
* J, U' u, J: J( `8 O Stream := TStringStream.Create(Html); ' p5 c7 k; l: l* J- Z6 H& ]
try
/ J0 O x' j8 |7 K$ T( B7 o Adapter := TStreamAdapter.Create(Stream);
5 M- s7 \/ E. R try
$ ~& s0 Y. P( [4 |- M1 ]2 N OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter));
" N0 ^. Y! j, A7 f, \; Z/ A# @ Result := True; : J: T5 h* X9 K* I# X! d% C
finally
" c+ n! A! r, l5 Q+ a, q Adapter.Free; , T6 u2 v1 p9 J7 _( G; P5 Y- L
end; 2 k# J. R$ C# J! z& ~# |
finally
x9 ~& ?5 b. E0 ]0 n Stream.Free; 4 Y1 `- @( E+ g# R) k H. E
end;
t9 D5 l& v/ D* ?end;
& r; \, L3 h3 g- g, [2 F$ V1 zfunction GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean;
) G- R" u/ r$ i2 {* W : |4 _! k# H6 ?
var
* e7 v1 h5 J# _! m/ R Stream: TMemoryStream; & ?% y" \- Y ^* T" U! H/ u P
Adapter: TStreamAdapter; : Y5 L3 }5 j' Y: k3 d
begin
( ^+ j Q* Z" n0 U Stream := TMemoryStream.Create;
& ~. Q4 F, u+ R0 s- w4 v! @ try # \0 f8 Z& D5 Q: l. E
Adapter := TStreamAdapter.Create(Stream);
: F* K3 R! d' Y/ o1 e7 R1 @ try
5 K9 v& w L0 u# f8 v3 w OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru
- N1 B9 Q- W* ^. H1 R. ge));
6 i+ {# U7 ^# ~ SetLength(Html, Stream.Size+1);
& r8 t3 _- n9 b* @; n8 h# B StrLCopy(PChar(Html), Stream.Memory, Stream.Size);
" _ f3 H/ ^# g3 G) j' T Result := True;
, K8 \8 i0 _8 i; y# h0 l
! f C8 f. }0 y6 j finally 9 k: }9 E2 X* |% T1 \4 S8 w/ m
Adapter.Free; 6 d" z! X7 I9 e
end;
) D' i( ]+ j7 O2 ]+ K$ n. Y finally ! Q$ m4 e2 ^2 a* j2 V
Stream.Free; ( G) ^1 J% P2 i9 J# n4 T2 U
end; 0 n0 z' k5 c* {1 N' H# @% K
end; |