|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole
4 {3 x+ Y4 A' Y9 a3 H1 nan;
" g7 ^, t. u) c7 s* r! \var 1 l3 [6 d5 u t$ K5 c- H
Stream: TStringStream;
+ P1 y2 ]7 U8 t4 }, v Adapter: TStreamAdapter;
. R% b/ ^; b: V2 m: w. t' abegin $ I- u( J' D7 i8 f; _* p
Stream := TStringStream.Create(Html); ( x/ A t! Y" n) k+ X
try
, ?8 ?' y" W4 W Adapter := TStreamAdapter.Create(Stream);
) O4 ^/ k4 U3 z: D, I3 B; E M, z7 t try
) V$ J6 t( w x OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter)); ) m2 ?# o% \* e4 T4 }6 ^
Result := True;
0 t$ ?' ?% R3 H/ Z, G) w finally 3 C9 V3 k5 }; p' f7 I) Q# D
Adapter.Free; . b( k3 X% g8 k" [- H$ s
end; ( s# F( d |6 s
finally , e' T9 P1 z7 v, b/ W, _" D0 ?
Stream.Free; 2 P& s |) S8 U6 }6 u
end; 1 q5 S$ c5 ~* u. @1 J
end;
4 B% I7 @9 j. w/ k9 \function GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; & @) I) B. H0 z5 {7 q- I% z
2 q" E! u7 q) q! q6 c6 M6 C
var . q$ ?1 Z8 A" H1 J
Stream: TMemoryStream;
+ g3 t$ J! ^& g ~( m* Y3 e+ r Adapter: TStreamAdapter; 5 X' K8 J+ W8 X' f( R* B8 g
begin
; r+ k4 S( G A/ H( v1 b& S& L Stream := TMemoryStream.Create;
7 ~+ A4 ]! X. `+ t5 ?, V try
1 g& w" e1 K. D6 R Adapter := TStreamAdapter.Create(Stream);
* k( A2 H9 B9 u try
" L1 L+ \/ m4 C* E$ h OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru + }0 V8 w. f5 L; \+ V7 w
e)); 0 F) e- {, ?+ L! S+ a0 t& c
SetLength(Html, Stream.Size+1);
# H+ d/ M. I# J; {% y3 q StrLCopy(PChar(Html), Stream.Memory, Stream.Size); / i( l4 p. q4 p* C
Result := True; # Z3 r$ R4 R4 l
& T P C: m* C5 q* }
finally
9 L3 z" L5 Z' |" Z Adapter.Free; 5 X7 T3 X5 G) ?& h) G. s) r1 e& M8 P8 o
end; + }, W* [- X+ \% d; K; F ^1 x$ Z. W
finally
# k0 e' q9 ?5 ~: d. U Stream.Free;
: j# Z9 W! F. U6 E* f2 _- b end; 1 Q0 A* y0 W) V8 }4 V
end; |