|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole $ s; c( A* Q3 i, I7 p
an;
. C* @ I' k2 u- z1 Ovar
z5 }+ `* ~+ w6 C+ h! o Stream: TStringStream; & {+ L: F* M! {
Adapter: TStreamAdapter;
+ t7 i" j+ Q0 p8 c# G/ hbegin - M* I; D" b/ k
Stream := TStringStream.Create(Html);
$ |3 y8 I) L6 e l try
7 b9 W2 g- k$ w, c Adapter := TStreamAdapter.Create(Stream); , Z7 E- g/ R) Q4 _. E, n
try
( Y. S2 s1 [4 p: w5 K2 M OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter));
0 \' K4 N# ` k/ @& j Result := True; & L+ \4 A2 E' N# H! k
finally
( `* R& R2 N* Z% | Adapter.Free;
, f) G4 C6 l; W# s. V W. x end; + ?/ Z6 {: O$ @; o7 K/ A9 |0 Z
finally 6 J: @" ^, y4 r) O. ~( x- {2 g
Stream.Free; $ r) ~/ o( Z+ P+ ? a: w! H
end;
) i# h0 s+ |! c# eend;
0 S U: y; \$ F' U5 l* n3 Z+ j- q; ifunction GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; " Y) O3 s* T3 z
5 O9 u% c: ~+ I7 [/ ]0 |" `2 D& Kvar
1 S. A; Z: r, @! x7 F+ O7 L5 {+ j Stream: TMemoryStream; $ j+ b% X7 R" s U0 L
Adapter: TStreamAdapter;
: Q1 K; L# F: u7 D$ X( C4 @begin
: F6 i; m; o; |9 Q o9 e Stream := TMemoryStream.Create;
" O& ?. L% J$ w8 \) T& Y) R8 w, F0 u' h try 9 I7 x& p+ q. v& t9 O: A
Adapter := TStreamAdapter.Create(Stream);
7 T4 D- L, B$ f- S. o+ [% e try
# j. E7 z$ g+ V$ k8 m) k q! B OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru 7 _6 o# v5 P5 j, @8 F2 t, ]: E" Z
e)); - P. Z4 X9 y/ N# ?* \! G( p
SetLength(Html, Stream.Size+1); $ s7 c, A* C0 ~! i7 F+ W
StrLCopy(PChar(Html), Stream.Memory, Stream.Size);
$ ^, A9 y1 Z/ W& y$ K2 } Result := True;
1 a# E' j" p8 P1 }0 r) e- f. F0 O1 ^; W3 [
finally ! r7 w* X" x3 t9 R2 _: ]
Adapter.Free;
/ k/ X9 ?! X2 k* m1 n end;
# v& u5 C& X* N( F/ o finally
/ J3 d- x4 r& ~9 W0 p Stream.Free; 4 z6 k1 d6 A7 I9 H3 z
end;
1 d; \3 [8 h% i7 Yend; |