|
function SetHtml3(const WebBrowser: TWebBrowser; const Html: string): Boole ; u; X2 R& y8 f9 R* }
an;
/ H, B7 t. p) M, S Mvar
3 \1 d5 x+ B) [ Stream: TStringStream; . e0 T2 g( e; A/ W. R: W
Adapter: TStreamAdapter; - ?' V/ l# H) Z" W, A
begin
2 m5 O- J4 w+ D Stream := TStringStream.Create(Html); ; B& Z' e# Z* E) a6 |
try
- s5 ~* ~6 D3 v3 P% [2 t Adapter := TStreamAdapter.Create(Stream);
6 \7 y( M4 ^7 N% S try
* c/ R- c1 P7 @3 y0 J. k( n OleCheck((WebBrowser.Document as IPersistStreamInit).Load(Adapter));
3 y! k$ l2 S- @3 s; o Result := True;
/ c/ i q- P6 R8 j b, s* F9 L finally ! i1 a2 K: k6 P" n. S7 D/ |
Adapter.Free;
2 \" f; i" v, { end;
" }5 ~3 @8 o% h( {# |! `( g finally , n/ u }3 S2 a A* m' P
Stream.Free;
6 v( n( F/ v1 {3 c. h* W end;
! d( C _3 ^3 c+ B' q" \end;
5 ?2 V/ ]% ^) u9 T& j' X& {function GetHtml3(const WebBrowser: TWebBrowser; var Html: string): Boolean; - O& A* A$ x/ T+ S+ l' G' p9 A
: r2 v! d( ]9 n% e! q
var
8 u: ]% s) f" k. Z7 X Stream: TMemoryStream; ! Y3 O; o4 _6 ?$ U Y9 s4 ]
Adapter: TStreamAdapter; 9 b, L- q+ v% i' P$ J
begin $ @ E2 {. m: c8 W# H, n( J" ^
Stream := TMemoryStream.Create;
, _& w$ l& m: h5 I& A9 u try " P+ K9 {; K7 Y; r- R* U3 O1 ?
Adapter := TStreamAdapter.Create(Stream);
/ ?* x9 Z2 k( Q) ^ try
" [; r1 u1 p5 F3 S OleCheck((WebBrowser.Document as IPersistStreamInit).Save(Adapter, Tru
7 w; z* ^& H w: Y4 fe)); 9 n" w- N- F5 ]/ \) l d6 G
SetLength(Html, Stream.Size+1); $ |- F7 R! B. `7 r
StrLCopy(PChar(Html), Stream.Memory, Stream.Size);
. h0 s! @, [* W$ {0 D, _ Result := True; 8 c9 R' s) E. X! P. x9 H
9 `; g, f' l6 G8 l4 n finally
& o- U) O k7 l( b& {9 E0 f Adapter.Free;
1 D- ^/ m% H2 e1 U end; 8 H% t/ P V* ^- p8 L/ N n; W
finally
# L& B1 h' a6 _! T6 g$ T Stream.Free;
+ x5 ^4 D: K( ?" ~3 b- A end;
: X% C0 k7 j! hend; |