|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole + L+ f# z0 W) X* y: D: j7 H# z3 e
an; - Y; L$ ~3 ?5 f. g1 ^
var
3 x9 x6 I1 r+ _/ v$ I* a Stream: TStringStream; ) v! \' i3 [, {. N$ j+ O
Adapter: TStreamAdapter;
8 I* c7 @1 s- cbegin 1 ~( r3 b Y. E! Q* _9 Z
Stream := TStringStream.Create(Html);
5 X8 }: m4 I: `6 i! g: s( d1 _ try
2 r% n8 c: o/ F" L2 Z Adapter := TStreamAdapter.Create(Stream); " M! y- q: r5 I& Q
try
# v* V7 ]- S3 f) _3 @- R OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter));
* o% s9 C5 J6 V; T4 U Result := True; " D" G$ [: x1 L
finally 4 a# b$ s& B4 T! `
Adapter.Free;
$ u7 H8 b# C- m end;
: W6 q7 {0 a* G$ b* v) J1 a* ] finally 8 Y, b& r$ m9 g5 o. T& C
Stream.Free; : E: y* o' a! Q& N z S e
end; 0 a" V. S" i. r! z" I
end; 9 n* e0 b, L9 \% P# Y: R
function GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; 4 h, T& ?- }4 _1 w% }6 x
% s# U, w8 }) S/ Ovar O) j0 `; C& S1 W
Stream: TMemoryStream;
: h/ F" Y( u* D2 g" E! O Adapter: TStreamAdapter;
7 w5 _* T3 n8 l9 Q; gbegin
( b0 I- C* {+ k2 x% g. `) }$ u Stream := TMemoryStream.Create; ; t/ R- L3 ~; m- _" o2 F; k' H
try
' E' r8 z) H ~+ R3 {0 R Adapter := TStreamAdapter.Create(Stream);
5 Z* E5 ~3 ?' I1 ?$ x) D9 ]! L try
) {% ^6 i/ V' }% d OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru 1 X5 a# [/ c ?3 E8 W( D+ i* Y
e));
+ k9 @1 R5 e8 l( u1 ? SetLength(Html, Stream.Size+1); \% s. q0 G: T4 V
StrLCopy(PChar(Html), Stream.Memory, Stream.Size); 2 L" a) p$ B; Z/ m- b
Result := True; & G" }+ q: v! d# Y. _2 e! ~
7 B1 g# L' p. ~( }% x finally 2 L- A) I* B3 W9 I4 O$ m
Adapter.Free; ) X7 g$ F7 ~- y; t
end; . ?1 v: v: i( U
finally
/ E2 d' i N' `% b, d$ H4 b5 u/ O8 Z Stream.Free; 9 r \$ C3 k: |# r( W2 ^
end; : A2 @9 @/ H, J- K. v1 a; I
end; |