|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole 8 b) J* E/ E) W* K! w2 K( \- g
an; * Y3 z* b1 Q1 J* K! g* g( b/ Q
var
$ \3 l' C# K) Y% _$ h Stream: TStringStream;
( f* m, w& a% Q! r2 O5 Y7 c Adapter: TStreamAdapter; . v+ R1 f/ ?: M% ?& K' E, k2 V
begin * r! ]4 \! r5 w* E% m2 z; `- k
Stream := TStringStream.Create(Html); " x* ^* ] a- }5 v6 L/ G( K$ g; n
try
. J+ _7 c, ~1 ?9 F Adapter := TStreamAdapter.Create(Stream); & X [2 P0 Z2 j5 f7 U/ c8 z
try
: p7 R8 b/ W0 x OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter)); 7 y* a/ |! Q% ?* z
Result := True; & a' j, L! E" T" i& Q8 o# P. o8 D
finally
2 Y4 @5 x1 }: ?. q2 d# Y: ?! x Adapter.Free; % Q# O A6 [* e e0 X0 ^1 B
end; & R9 {/ |$ \" p9 u, N
finally
% B. Z$ O8 n* u6 s Stream.Free;
M) ^; K% `8 j% E end;
]/ o G+ i# a' ]0 @( Uend;
6 W( d3 @6 N( Q# P* dfunction GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean;
7 c+ ^& g% h. Q5 `
0 i, _. ]- O C! Z( |var % v$ S& L2 W# ]* u6 v% M( k
Stream: TMemoryStream; / i, N- f4 z2 h, M2 ^% j! a! U, n
Adapter: TStreamAdapter; 3 P1 L: r( S3 r9 U/ P
begin
+ J9 k5 n! g# [' P1 n: l Stream := TMemoryStream.Create;
3 J U5 [" o: H try
. H6 |) @0 T5 H4 R Adapter := TStreamAdapter.Create(Stream); 2 Y( g1 [0 `" Q; ~; ` C
try
; g, F4 `& ~# b2 |2 | OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru
x$ ^! Z+ { o8 e4 Z; ne)); % x, I5 v) w7 y/ p' F
SetLength(Html, Stream.Size+1); 7 | b3 ?4 T+ l6 f6 [
StrLCopy(PChar(Html), Stream.Memory, Stream.Size); A; w6 \3 }7 u+ |! o* t
Result := True;
) I5 G( x, T7 z4 m# G- c/ K' i$ b Z8 R3 e& C
finally ' f+ L$ g7 {9 c- A: {/ }
Adapter.Free; + `; @ y: L: j# ^
end;
6 ?5 w, u( s7 ^" q finally
6 b0 x' a! j! T; f8 n$ h/ _ Stream.Free;
/ ]% g$ _* U# [+ w# \7 d | end;
3 a- [- k9 Q0 \& X5 J! s$ B$ hend; |