|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole $ s2 A" Z5 x$ P6 a! p c
an;
* |3 q) {0 F" Qvar
7 Z3 [4 G& F, Y; y+ H0 J Stream: TStringStream;
. p& R* y" t. a+ W Adapter: TStreamAdapter;
# A3 Z" w* g: i5 Ebegin ; n% r3 t! ~$ A
Stream := TStringStream.Create(Html);
( o, T" i1 _0 u' I5 o try
1 A; p$ d7 |, t: H" O Adapter := TStreamAdapter.Create(Stream); ' A6 \' n, i1 L1 ^ ]8 `8 U; F- d, L
try
4 Q5 U$ K' a0 M7 v7 Q4 Z& Q- N4 t OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter)); # m: ~" d S Q
Result := True;
$ V7 c6 `! C1 G6 {( w7 r0 [& J finally
3 }$ X+ q [* @& _& }# A( Q Adapter.Free; ! Q& m# p4 _( p) G' T7 Y. Q
end;
% I/ I9 e9 W `: [/ a" k finally
4 l8 H: Y. r+ @4 D' n7 h5 r Stream.Free; ' o) [5 S4 I* R- |$ i, C" w" l
end; ' @% f& G! R, o, j5 P
end; / V8 w+ }0 ^1 ^, z4 H
function GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean;
5 Q6 S, r) g. X) R* p " R4 o! c2 w# ~+ J! x0 _. u$ l
var 8 e- t% h" q0 M$ Y/ ^
Stream: TMemoryStream; 2 Y( [& S& I! m. R. P: w O! D0 ]
Adapter: TStreamAdapter;
3 D# d5 R$ Z0 Pbegin
. V0 b! \# g# q5 v" A& l: r Stream := TMemoryStream.Create;
1 P# i" i8 I/ t: O/ ]2 o try
4 C. p: E2 E( e L$ s Adapter := TStreamAdapter.Create(Stream); 6 \+ a' y* [" _$ d
try $ v) K+ ?5 B) I! W( H
OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru
9 W9 F, o# l2 G% [+ C; ?e));
* s7 P3 t* m3 h5 i7 ? SetLength(Html, Stream.Size+1); 3 G4 f8 B; S( N6 ?5 o0 ?8 u
StrLCopy(PChar(Html), Stream.Memory, Stream.Size);
$ p- B; @- G5 e3 F+ ]" N Result := True; 8 _* Z8 @, l$ k0 K9 ?/ M
0 p4 I2 I) d+ F
finally
3 E% Q& @# I- U. A. J+ q$ C Adapter.Free;
6 s3 F8 m( E/ Z, h& n. }( W* {1 _ end;
- ?- r% A* M. W$ A: G finally 7 w- @' F6 i# k8 y$ [
Stream.Free; 9 W3 H1 C3 w7 z; l
end;
) {8 b* _# R4 g. c# @2 A) nend; |