|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole 1 r$ |' t, _6 w" F/ T6 {
an;
@4 T1 A& z; @! ?, g1 ?var
- P9 c+ I9 ]& T+ X Stream: TStringStream; 3 v1 ]* X) C& g8 R/ m
Adapter: TStreamAdapter; ! j5 p: Q3 C5 q0 a* A. b
begin
! [+ t! @; i( W Stream := TStringStream.Create(Html); ) U+ s3 Z4 S8 _! A5 b+ R
try
0 Q( z) T( Y5 C6 j6 H J Adapter := TStreamAdapter.Create(Stream); 5 Z) Z0 X/ W& k! z$ N
try 5 J0 Y4 w+ Y* V" ]) L
OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter)); 7 {5 s% s" N, ?' W" |
Result := True;
. J( s0 A# D9 `# C4 F, F finally ) @2 s9 S4 f& ?, r! S
Adapter.Free;
* h* r3 j* Y9 R# q2 J+ Z end;
- \, J! Z9 N4 B6 C0 z) c$ P finally
0 r1 A8 ?3 j; c3 p+ @ Stream.Free; 2 v7 a2 J- M- ?' y8 n
end; . P/ @5 P8 Z3 R! O) ^
end;
M) u' C F- W7 j& w3 [0 n* ?function GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; ' ^+ H" P: @' ^
6 V* P! d$ k% H# i1 ]( lvar
; N, m" }! F$ X8 }* o# { Stream: TMemoryStream; $ g: I% u/ P6 n5 |
Adapter: TStreamAdapter; 6 ~7 q+ W( D: k: M s
begin 4 \2 |9 r) ?( O7 v8 w+ r% R% l' J, v7 R" `+ l
Stream := TMemoryStream.Create; " w8 J# W9 X& E
try 1 z3 \7 L0 N0 \# J. n6 s5 d
Adapter := TStreamAdapter.Create(Stream); , x- _9 Q6 l9 I* Y; }
try 7 t6 j& F) I. {& {9 v
OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru ( K4 |2 m( g5 H- B
e));
$ i* P* b E y9 V7 g SetLength(Html, Stream.Size+1); ! h4 a |% |# o
StrLCopy(PChar(Html), Stream.Memory, Stream.Size); : [+ ^: r2 K) X- ~. O7 p2 s
Result := True; ; {6 L: D- s$ h( @0 A' S8 v
0 @1 v, e3 |4 m- j1 e finally
; K/ t9 T& q: N; n Adapter.Free;
4 \6 V! v& _+ w+ \$ ~( B end;
& V$ E: {- q; ^/ I finally
' r: i) b. W, n* S/ [0 ^ Stream.Free;
3 D) ?$ C9 {$ Q0 f2 u5 h9 {/ O# O end;
7 Q( \- z7 X0 K0 G6 L9 L+ E; fend; |