|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole 1 q- f4 g) f4 Z* o! K- |9 F
an; & C& `5 }/ E/ C) W9 I
var
$ d$ _% S A; P7 E: p1 ` Stream: TStringStream;
# M0 R+ O, [% h$ J3 q Adapter: TStreamAdapter;
" @0 S- }' y# Z2 Q( K1 m8 Rbegin
" e$ d4 z0 u/ R" V Stream := TStringStream.Create(Html);
* a+ \7 d- [8 `) t! X4 w9 Q try
, } L8 V5 p/ V* ?3 ~$ @- r/ L Adapter := TStreamAdapter.Create(Stream); " |' z6 v+ D3 i. F" r$ C
try + x& f+ j) n5 u
OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter));
8 Z" ?$ @. a) Y- l2 x Result := True;
/ X2 b9 r: @( j$ |' P7 J7 l finally # O5 Z2 z) J+ B* z4 ?
Adapter.Free;
0 b- M: j0 ~# N' U* \% h* x# g end; / u$ l$ E( P. _, ?
finally 0 ?( F* D9 E: X" x% Y4 T* N
Stream.Free; , H) x2 U4 g' `
end;
d% F2 M4 P# r- t, ]end;
q. u6 U$ c) i; o0 Kfunction GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; H$ ?# ^9 k$ B
' X) O( l7 n/ v. q3 J
var
6 p1 O. X" E) ^1 n4 ^- h Stream: TMemoryStream; 7 G% y b2 g4 Z; p
Adapter: TStreamAdapter;
) [' \2 L1 ^* O3 y* Nbegin
1 |: W/ \+ u+ b9 @! G Stream := TMemoryStream.Create;
/ P# a$ q/ D, a. x1 j try
& h" K2 y+ C6 }1 O Adapter := TStreamAdapter.Create(Stream);
# S" x1 u2 `( W) D a8 p try
1 i$ x( i2 i' K) b OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru # u" z- p+ W' A
e)); " A" r I/ [- [) W. [5 I
SetLength(Html, Stream.Size+1);
$ H: P m4 S5 q7 u2 o0 u* ` StrLCopy(PChar(Html), Stream.Memory, Stream.Size);
4 m) P6 h/ W- G5 [, p- @ Result := True;
8 a/ s( ?" t/ l8 Q0 Z7 T& p2 `
% t; ]6 h! I7 j, P finally * u! P N, C# \5 b% Y9 Q1 G, l2 A
Adapter.Free; 9 `" ]4 \: H# }6 J7 C" H7 ]
end; 9 o' u% C* v& O! j! {: y1 |: g! E; k
finally
1 @2 s6 k1 S5 B1 E# s* D! ] Stream.Free; # ~& }# a7 Y7 t
end; . o3 |3 k$ V s8 i
end; |