|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole
9 @4 U, `2 s+ r/ v3 aan; 8 V' x) t7 ~; O d
var
x: L3 L; r" z( E# l- c" ^6 q Q Stream: TStringStream;
) S/ m5 s1 ~- h) y! G Adapter: TStreamAdapter; , e9 K7 S# @( G0 d& [3 ^
begin 5 P* e' C% o* ]- y5 n+ f1 [2 ^1 P
Stream := TStringStream.Create(Html);
. B$ e1 |* `5 w7 T. h! ]' j try ) Y1 a/ m% ^$ K2 u& m! ?( ]
Adapter := TStreamAdapter.Create(Stream);
6 Y; c+ d* \: T, \9 u8 P try
- X# A8 ?( K. ?3 `' H# c! m I0 l OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter));
/ E- X8 |; j( |( a. n/ W& F! D+ t Result := True; 2 F" l- a6 s& I/ l/ O1 E9 T
finally 8 x+ t' G7 }. v% z9 s5 g
Adapter.Free;
1 b; I4 \5 c3 b5 b: R end;
5 d8 H( q T0 {2 [& Y finally
( s" O1 z: j$ |: N( K' J Stream.Free; 7 b: f: {! M8 L c( ~" O
end; ( @/ E ~* D3 q# a6 ?2 j
end; 6 x- }( k% ~2 m( x7 I; x
function GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; 1 y0 O0 x# E/ f1 F" X6 D
- R: h) t3 M0 h. p
var
" S- ?9 H6 l4 j( d* O+ | Stream: TMemoryStream; * H* a1 s' f) F7 t1 c0 h
Adapter: TStreamAdapter; 1 V" `: g4 E5 k# B
begin
. j/ X+ E# |2 s8 a, A Stream := TMemoryStream.Create; / r3 `) f9 J$ |6 C; c& M
try 8 w; s% ]3 |6 B" ]# B0 P B& X
Adapter := TStreamAdapter.Create(Stream); ; U6 ^7 s& @/ L
try
9 d, P$ S$ I5 E* c OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru ! y# D$ M! P; n. Z/ k! |+ x
e)); ^4 Q: I' {) m" E& j, k! r
SetLength(Html, Stream.Size+1);
# N9 |9 R# ]( x4 b StrLCopy(PChar(Html), Stream.Memory, Stream.Size); 2 ^2 O1 X5 I: T3 J/ L4 Y
Result := True;
; k$ c& X5 q% x( m9 y0 b3 s- x; S, z& l" o
finally
8 o& t, E9 j7 ` x2 M9 l; _; |1 z+ o Adapter.Free;
/ w7 K7 G l: Q- F end; # A: V1 B# U4 s7 E
finally
+ y3 w. J, d# X( J Stream.Free; " b) D% N9 s6 c7 J2 ^* d) n
end;
: S1 | o* i- Pend; |