|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole
7 e L% X( N ran;
+ o- M% ]4 A! Uvar : j0 @ S, i1 r5 M2 J
Stream: TStringStream;
% o" W$ N1 j2 t- g, G$ s Adapter: TStreamAdapter;
* @ L) p. g! j( [3 l; Zbegin
% F: o( d5 W* _ }4 r5 ? Stream := TStringStream.Create(Html); $ W( m0 t% h* p, X A% b
try $ e, K9 V, K( K/ ~2 n
Adapter := TStreamAdapter.Create(Stream);
- T- {2 v' `0 f8 r4 {% o3 D2 T try : W' M9 \5 S2 B
OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter)); 7 w1 J0 R* s) S* r0 q8 }, X4 y& Y
Result := True; 7 N1 X- {- H& ?! r+ b1 m
finally
D- }: t0 f. _+ B( W8 ] Adapter.Free;
. L3 ~ z/ V' |% q end;
/ @0 |' ]( h8 C1 R& F% h/ p finally ! y9 n! D& P' R& g, f+ ?( J1 U
Stream.Free;
4 \& [2 D/ Y$ y1 u* n# W( W end;
. `$ V# i1 d/ }9 b3 H5 c- l0 N! ^end; ' T8 O0 M+ N4 F/ f
function GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; + a2 ]- u( v9 G
, H2 Q4 c" ^# I' f6 hvar
3 J1 N: C6 u% A' h5 b, o Stream: TMemoryStream; - I7 }: g/ w, B$ Y7 {. Y3 k Z
Adapter: TStreamAdapter; ( d* `: c# r2 Z: n9 s* _
begin
' @3 P5 U3 A' n u Stream := TMemoryStream.Create; - J& M& [" x [2 `# m4 f
try - O/ t6 z8 P, ^, F
Adapter := TStreamAdapter.Create(Stream);
. m- r5 _0 K0 X ]5 _' j8 j- Z try
& @) L V3 t n; b, H OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru
- C+ d: }8 v, a6 ze));
* X4 S9 I9 z9 I ?/ K1 o l4 ` SetLength(Html, Stream.Size+1);
# i% I |8 W- j; N StrLCopy(PChar(Html), Stream.Memory, Stream.Size);
: ` M6 A1 b8 d p+ y$ E6 C Result := True;
: j& w( Z' w7 A0 v# l" n- w! G3 ]& F( Z
finally
( m+ i W& h6 s5 B& j) a Adapter.Free; 4 V2 ?' z. W7 Q6 t( r
end; ' y5 c+ k" [' y2 K% @
finally
" B, I5 a U: ? i3 \) I Stream.Free;
1 \! |. T3 e) ~# a2 B end; % K5 P! L) L! ]" g3 p( e* P0 R2 y* m
end; |