|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole ) J8 F8 t9 A U2 R! h: c9 \, E
an;
+ J4 w5 s6 Y2 i# b9 c! H! xvar
1 h( r; w! n/ l/ ]0 g& |& W1 [ Stream: TStringStream; 8 s4 ^4 v* }$ Q$ X4 q8 N i
Adapter: TStreamAdapter; & X6 ~0 q+ u; ]" n Z1 `2 b4 p
begin
" D$ n! h3 q! W# P Stream := TStringStream.Create(Html);
- V6 @' ^7 g3 m4 K1 g try
$ u1 ~- B9 q# x9 C4 G Adapter := TStreamAdapter.Create(Stream); ) w* w2 R( h9 E- h
try / ?! e, s" `; @0 C" E: m6 }
OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter));
) s, y1 U# P, _) g ], A3 V Result := True;
6 ^. `1 d* F6 v( S: v; v9 R finally ) C- q; f+ U9 W' n$ c
Adapter.Free; & `2 `$ D# C0 _% W8 h/ L5 s
end; : A4 U* c& E8 _8 c" A
finally
) Y, l8 u4 g3 O4 R Stream.Free;
. {+ s( G( X* ]1 u/ t end;
+ V. G0 O! v$ S+ K5 @" a+ V# Jend;
: f! ?+ r5 w* Rfunction GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean;
" P8 H& `. }% D5 k4 p- c
Y. Y) d4 U* R2 {1 w" f6 f% B bvar
1 L0 J: Y3 R- C# ?5 o Stream: TMemoryStream;
) H+ o5 Q1 d i) c# v% E: a Adapter: TStreamAdapter;
; n& C3 e. K9 A& h( Jbegin
& B# A. f# j" Q* N! z2 s Stream := TMemoryStream.Create; 2 ?5 F6 |" v( y! z; M
try
& G( X8 g* d6 h: {# V. m Adapter := TStreamAdapter.Create(Stream);
- C. G( t2 R% ]; B try
1 Q; k3 U7 X, h+ X# |) o; O! ^3 ^ OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru
2 |2 ?6 V0 P$ i0 }, w/ Ue)); 8 w0 ~& i- f2 j3 [( z6 S+ k5 @1 Y
SetLength(Html, Stream.Size+1);
5 k5 f: O a, ~" f7 k* W$ R StrLCopy(PChar(Html), Stream.Memory, Stream.Size); $ s( M1 _; ~6 l1 a
Result := True;
; O$ W, }$ X5 q5 F3 P" P
0 x# t& r, F: {7 Q: Q) F* ~ finally * i5 M3 [+ j1 M h
Adapter.Free; . o0 {. F1 z+ j- b& I' Q
end; 3 ?, T$ s- D! ?( P3 G9 S1 [! q
finally ' }( ^( K* T8 _( [. A* {
Stream.Free; - X; k8 b* o' b0 A% T2 F, R# F
end; 5 f1 x" T$ x6 D! Z: F$ X; n
end; |