|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole
. C5 y; E7 c: u+ H. H. can; 2 l5 {9 m) O. F
var
% x; ]% d& B# p% G Stream: TStringStream;
Q/ l- i N y* m7 a' c) n! x; S1 G Adapter: TStreamAdapter;
! I. [1 |( J: n' S, ~. ^' B) F7 Mbegin
7 x4 @& a) @* Y" b! N. K Stream := TStringStream.Create(Html);
- T; s w5 e5 h2 w T try
6 k! q. |4 d$ s& n- _( @ Adapter := TStreamAdapter.Create(Stream); 2 D' a* I8 A4 {# Q- z ~: i+ M2 G9 o
try
0 @$ a3 l4 V0 ]! s* q. T! ]: \' i0 t OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter)); & { w$ A7 i0 i1 R2 H
Result := True;
# o0 S: N% a, x8 l finally
1 V* V! v$ [; { x" i Adapter.Free; 6 v# | R2 Q6 ~" k0 r
end; : H6 Y0 K6 i9 X
finally % ^6 \5 j, ]4 ~; U! ^+ _
Stream.Free;
6 _1 G: D5 C! |: g* L end;
% V5 c b2 v) n$ X( }& o# r7 }2 m: Iend;
- s3 i6 C' K( {0 E* Kfunction GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; ( W+ A+ Q: ?$ w! A$ Q( l H
/ e1 R/ Q7 }- x2 d/ Svar ; S: `% x) k/ Y Q4 c- m
Stream: TMemoryStream;
! y, w( y7 ~* e: Q- R. ~ Adapter: TStreamAdapter; 1 K! a, F# ?2 F/ w
begin
" r$ q r* h! M9 d Stream := TMemoryStream.Create; & ?$ D8 z3 q1 K7 g1 w1 o6 H+ X! R
try 0 @/ @. o. X: I7 [$ M. R. P
Adapter := TStreamAdapter.Create(Stream); 0 x+ ^0 H+ f+ Q& h2 ^, s& G
try & V- i a1 b1 i) {- S- }. a
OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru # U% o k8 K' F1 Z; H
e)); 6 c3 g- Q" R; Q/ b) p
SetLength(Html, Stream.Size+1); # q; e% G$ _5 V( Q/ a2 o/ e3 |4 F
StrLCopy(PChar(Html), Stream.Memory, Stream.Size); ' Y% v" M5 C8 ]$ N
Result := True; 0 j$ w9 Y# p. B. m. W# _( \& B& H+ O
( U2 n" X% {% E" ]; v0 T finally " P6 l9 A7 }8 H* ?, \2 Q
Adapter.Free;
" w2 R* w. Z' l0 o$ i0 `: i5 K end;
; M$ [( l" O7 Y8 Q& { C finally
& F6 o) I- T7 j7 M. s Stream.Free; # m3 O- I) f0 X# l1 y
end;
+ ~; T8 J& _) W% H& kend; |