|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole 7 N+ E& x5 R0 V& {% |& J
an;
8 \! _6 V3 J! a0 L: o" E" Y4 k3 zvar 4 a" p0 a0 |( ]; |; f
Stream: TStringStream; $ L5 a* \( y& A' X: G p) W2 |
Adapter: TStreamAdapter;
8 ]! [6 E5 }; L; @: }: ibegin
: W, `2 w T( t. U# [4 [9 m Stream := TStringStream.Create(Html);
, ]# a4 N# j M I! A$ d( f try
1 n- W5 X/ U' d. Y; g, i* {* o Adapter := TStreamAdapter.Create(Stream);
" p' b2 s& t9 r3 R$ R1 e try
( S4 X. n; I2 |. w& n OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter));
! o/ q+ _: e0 A# N8 L$ q Result := True; ( ]) h7 V1 k& E% ]$ X" ^. o, e
finally 3 }7 w3 P5 p: a0 A1 T
Adapter.Free;
8 w( j3 z7 f6 n, `, w+ m end; 0 K; T# Z/ R2 _9 G5 z8 o# Z R
finally 1 Z7 I/ D6 a+ }+ D
Stream.Free; , ~# }. r( E y% k5 a, |8 K
end;
W8 z- z0 M' J+ F- Oend;
6 I; k. F& k; i* \6 C5 Lfunction GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; # U7 I' H1 S+ Q- J; q& W/ y% `: a
; e1 \( w9 n4 W
var ' V8 N8 D/ h; ~ B
Stream: TMemoryStream; ; ^8 E; P* `& v4 R6 j. \% m+ X8 G; }% m3 M
Adapter: TStreamAdapter; # }* {4 t- q4 N* s
begin & f+ {3 G6 n: ?# A( |
Stream := TMemoryStream.Create;
) o( o( D; _$ ~9 O try 7 v! `7 q! I; P) n+ F
Adapter := TStreamAdapter.Create(Stream); I0 Z8 H: J3 w2 O1 g3 `
try
: ?2 Q- w6 u8 X9 \1 [7 a/ j9 G OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru
: o5 M! I) r( y: T2 v' K+ k# k5 Me));
& ^/ A v v9 b% h9 L SetLength(Html, Stream.Size+1);
% w8 J% |% f" t& A( G StrLCopy(PChar(Html), Stream.Memory, Stream.Size);
- L- Z2 {2 t ^' W: P1 W% B Result := True;
. B0 J! D% b& ?$ ^: M4 r) U- w0 M
+ w6 l. Z+ n. W8 q8 X9 R; N finally
' d: @" i. E' X( C/ b& L7 _ Adapter.Free; 5 C+ T3 y5 U6 s: v! v/ `7 w* e9 V
end;
0 n: a9 F" X8 x" ?5 J* V: L finally 0 d; z9 k& M+ a$ o w0 O7 g
Stream.Free;
" ]+ r( a# |# Z: P end;
% X( W t/ u% l: p4 N( X6 C' Lend; |