|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole # W8 Y* d) t) z1 @3 l% p
an; ' R+ N9 W# L6 N& A _
var - P# j1 i; s- W' q* ^: m- \
Stream: TStringStream; 9 v( L' b) G9 m z
Adapter: TStreamAdapter;
+ W$ P" V5 E( K" I kbegin % O/ c S9 |" o4 ?! |% p
Stream := TStringStream.Create(Html);
6 O) x; g" [& h try
! y$ }) q0 w. o) z Adapter := TStreamAdapter.Create(Stream); $ c- q9 H$ i/ B: n- w4 t
try 2 D8 W6 N( L6 q" ]
OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter)); % W: s. V% L, y" H$ ^4 E
Result := True; $ w$ R& A W P, q
finally
5 }" n1 w. q# n, |: P" f Adapter.Free;
" U* @' a6 g. L6 J end; ( L# _6 _5 n4 Q- L1 @* v/ k' ]+ g6 t
finally
% b9 |" a' F/ Q0 b$ {( A Stream.Free;
: \/ l: Y* ^2 ]- P! `. t end; , @8 {4 o" @2 A3 O% P+ P
end;
' F4 B% q; O( r3 ?" |" s& V5 o4 n; qfunction GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; 9 p* Y+ Z, R+ k& o; V9 I
: e+ t/ d& i; _0 G5 v4 Dvar ) t+ ]8 F, V# z; u
Stream: TMemoryStream;
- J5 w4 o1 M1 M' e. s, o Adapter: TStreamAdapter; 9 x) @. o' _0 R1 H. T; j5 x. k+ y
begin ~- Z) b- h2 v' S& x, B) w
Stream := TMemoryStream.Create;
5 L5 M) P" F/ X4 m I try % b6 l- @ c! ^% Z' `/ O9 }4 }
Adapter := TStreamAdapter.Create(Stream);
6 M; r- E: Y+ p& {+ Q1 T+ | try
& |7 S5 E7 o/ }$ m% f8 g OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru ; w* G, l X& G
e)); 6 P/ e+ o2 h7 R2 Y7 n- h8 [9 K
SetLength(Html, Stream.Size+1);
, `$ _* M; g# R! p StrLCopy(PChar(Html), Stream.Memory, Stream.Size);
* W+ k/ o/ A# F, ]* s* c Result := True;
9 B0 f9 h' c8 {7 t) D. Q$ I0 H: T5 {& c" N5 I! l
finally ' W3 q5 t3 x+ e! ?$ V5 S7 B
Adapter.Free;
1 @, r* `) ]8 a8 `' ^- \ end; : \( o7 I% E& z# ~4 Y* L
finally
# L/ {# f2 a L6 a Stream.Free;
- i1 ^/ y! q& q+ F end; : c$ b3 j1 @3 I$ N$ ?
end; |