|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole
. J) k6 M* ^7 e8 t3 f7 B8 F xan; * E4 v5 Q n. H: J3 K4 \
var 1 W& L, `8 U) M: X: @, r
Stream: TStringStream; 2 H1 I! E, R+ |0 O% A4 T
Adapter: TStreamAdapter;
) H* ~( ^) _5 h! y j* E* hbegin 0 Z$ \* R+ m9 Q0 j4 y
Stream := TStringStream.Create(Html);
' S, b5 {8 r- [: j3 C: z try : `& U3 x( `" h. ~0 D$ }
Adapter := TStreamAdapter.Create(Stream); # f/ ?, z; C3 Q! k
try
' @" U' c; t# \9 ?4 y( ] OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter)); * U/ b! F& O$ d& `
Result := True; : I9 e7 Q5 k" B4 O4 y
finally
9 U' K0 f: B: B) v- q Adapter.Free;
: c- G( e5 L( Q end; ; N4 W! c3 z S$ V, j0 Z1 u
finally 0 o5 v, w4 Q- @# Y: H& A
Stream.Free;
0 S) c4 {+ R" w" d end; 0 m/ l* _) u( J5 ^ G8 ^/ B3 f! K
end;
( y3 a _( V8 K5 P& A9 Qfunction GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; - W7 ?, ]) f4 W
! E/ y& J7 z" e3 G& t
var # Y2 Q! e3 z3 m, X
Stream: TMemoryStream;
7 u4 o: ^/ v) O Adapter: TStreamAdapter;
( ^2 \" ^9 {; R p+ J7 Hbegin # Z) Y, I3 Z; I$ H$ ?2 a! i" }) ~
Stream := TMemoryStream.Create; 2 P6 K2 Q) a" L) Y' I' r/ O
try * i8 ]( {. H8 [! f) J) i
Adapter := TStreamAdapter.Create(Stream);
$ ~$ z# Q' K x% V4 S( Q+ K4 O try + I4 W9 }1 O J4 ^% x
OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru
' k) r f! S# l, pe));
+ j& J" e: m! |( v+ e2 h SetLength(Html, Stream.Size+1);
i+ p( e x6 h: s StrLCopy(PChar(Html), Stream.Memory, Stream.Size);
% ^' r+ {' w2 g' S9 }1 j8 w Result := True; 8 @" J+ |% `# ]: |3 v" u$ b! ^( A# P
! w2 x1 C0 c* e& H: F" G% R
finally
5 v d. q/ i9 ?6 Q$ c Adapter.Free;
! ]6 v0 F( N2 h* X7 P K0 E2 I end; ( @4 `$ [3 y: P4 }1 ]) \
finally
8 g3 Z% t! ]. a. q5 S5 p2 L Stream.Free;
* q" n3 z9 B7 }+ A end; 7 u. f3 i! i# L% u5 G9 Q
end; |