|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole
/ a: ~4 T( P9 B3 z& y1 C3 \an;
) @2 i6 p0 \3 G. }var
& J) l3 P' o- M3 \3 i* E0 z Stream: TStringStream; + G! f) z6 O* p; O- g& e2 Q4 s* p
Adapter: TStreamAdapter;
5 T- h: D7 w, m/ V/ p4 ?& pbegin ; d& I3 i& u/ `9 K3 ?4 F+ e9 ~% x
Stream := TStringStream.Create(Html);
1 D: \$ E7 g" @! @0 [) u D6 p* Q0 u try
6 G4 Q, q- y0 f x0 O8 b Adapter := TStreamAdapter.Create(Stream); - E2 m) T- V" O, \$ c0 l
try
& e5 b, m" @+ |+ x: D OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter)); . O7 M! t2 ?( B9 L# a
Result := True; 9 ]% `5 y' `) s- o3 x( z
finally
# D t' i7 Z' G& G Adapter.Free;
4 ^1 ]9 ^) l0 O. T6 H end; ( a' {+ b- }8 K* Z2 v
finally
& `" u' Q# L/ ^* `; b Stream.Free;
5 t4 [2 C$ c0 }- ` end;
) i( D6 v- A* \9 @1 Z& jend; 3 d- ^- |1 [/ b! t0 z
function GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean;
7 y! A7 \: G1 r/ i: c+ c
5 h5 L8 X0 p) I0 A% ^5 A0 Dvar
- b4 a, {3 Z. [+ Y0 _* Q Stream: TMemoryStream; ; f( T1 t9 }5 c' |% T9 @$ _8 h2 [' p
Adapter: TStreamAdapter;
6 f& V) x4 S7 A( N* F4 Pbegin
; _. l* {3 j4 i0 _( U2 g Stream := TMemoryStream.Create;
% U* j: V) z" V5 Y1 d9 a `! q try
& z7 }( Z' b( Z: F Adapter := TStreamAdapter.Create(Stream);
) a5 l# p. v1 ~5 T- w5 w: ? try ) X* a* T' p* i) T
OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru 3 ?, D% m, s% l6 s/ l* o2 o' L! v
e));
t) {: N0 B; Q' @/ B/ H) @: M SetLength(Html, Stream.Size+1); - t" K* ?: P' A0 t+ ?3 |
StrLCopy(PChar(Html), Stream.Memory, Stream.Size); # l: y8 X$ h/ _9 x& D- Y
Result := True;
' N9 Z- `) s0 p/ v' O# C# Y/ X2 `6 N* w, v' e1 v- ?/ P9 Y
finally
u& W0 q* j+ J0 C5 D Adapter.Free; ) Y( G8 G9 _1 p" D& D2 y6 s! ]
end; , O- R& _: |+ D& b0 q' E
finally " ~/ ?4 ] G8 `7 C! _- ]8 }8 C
Stream.Free;
% f8 U! s6 c: K end;
- x, }& C' u0 ~; zend; |