|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole
. c% Q# V3 _6 D1 r' Wan; # _1 T Z. n% ]9 h5 {: y3 l) [
var
4 x: a' S ^# @4 K7 Z% x% n2 { Stream: TStringStream;
4 g' e2 U6 j: `+ p# O7 M: u Adapter: TStreamAdapter;
! c! G: a; w' b; e' |+ S7 Z+ hbegin 7 k4 X( v+ d6 i
Stream := TStringStream.Create(Html); 5 \9 n- l5 k; i, G# `
try 7 {$ p V" F& N. S
Adapter := TStreamAdapter.Create(Stream);
% X1 C) ~+ T6 y8 z" _ try " ?6 Y1 z4 M* V- D
OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter));
, G4 x2 @9 ^- q. L* b0 J P Result := True; 8 ^' N( r9 y' x! i5 C; i( `" a1 t
finally 6 Q+ q- U% J U. ~4 k' H
Adapter.Free; 0 _( l: D- t8 x' f* X7 H1 r
end;
7 |. N2 _0 Y' D2 c& H finally / G2 U* S4 D7 Y1 S
Stream.Free; ' U, |( l7 U* G* O% a) n( F* X" Y
end; $ _" `: @9 p. b |4 P
end; . {* B% I& W8 Q5 W! _
function GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean;
: s5 N, d3 f: z$ N 4 `- P( z. j2 M" g" F, e
var 6 D* |) r! L& r' s5 y& k
Stream: TMemoryStream; 8 q+ A7 B& U+ @6 o/ L
Adapter: TStreamAdapter; - Y7 ^0 a& y& D o2 {2 m* i) p
begin
$ `. K$ M& I& G Stream := TMemoryStream.Create;
% o+ l( L9 |; m$ t try 7 ], Q" G* Z# H6 g, j
Adapter := TStreamAdapter.Create(Stream); ) Z0 Q( U, D: _4 d" H% U. J
try 0 _9 M6 {0 Z1 L9 e
OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru
5 L) L) w9 t% w, ]$ Je));
! M, l7 u) s& M- s" @" A( a SetLength(Html, Stream.Size+1); - z" ~3 m, K) h+ u9 A: J1 d) r
StrLCopy(PChar(Html), Stream.Memory, Stream.Size);
! h$ n3 E/ w4 s2 V0 k# @) }+ c Result := True;
e9 l8 k" I2 p$ K! ]$ ~/ P0 b# q4 _/ v; p
finally
1 ]+ x' c7 [2 R' r% k6 W Adapter.Free;
4 w9 U7 D3 Z1 K# Y5 k2 O j: s# r end;
9 k$ W4 V! E" ~* j, s* `' L# m finally * V6 z+ {9 w( r# r. l
Stream.Free; % H! k% ?- r9 G
end; ( ]) G. L0 Z& }) r, g
end; |