Ситуация такая, гружу страницу в поток через IdHTTP
Код:
1 2 3 4 5 6 7 8 9 10 | IdHTTP . Request . AcceptEncoding:= 'gzip, deflate' ;
inStream:=TMemoryStream . Create;
try
IdHttp . Get(url,inStream);
outStream:=TMemoryStream . Create;
try
gZipDecompress(inStream,outStream);
outStream . Position:= 0 ;
finally outStream . Free; end ;
finally inStream . Free; end ;
|
А вот как мне вытянуть из OutStream в String для дальнейшей обработки ума не приложу.
Код:
1 2 3 4 | Doc:=coHTMLDocument . Create as IHTMLDocument2;
V:=VarArrayCreate([ 0 , 0 ], varVariant);
V[ 0 ]:=Cache;
Doc . Write (PSafeArray(TVarData(v).VArray));
|
Кто знает, подскажите.
Я пробовал через SetString(Cache, PChar(OutStream.Memory), еще через одну функцию, но результат на выходе одинаковый - квадратики вместо текста. Чего я не правильно делаю? Причем в memo1.lines.loadfromstream() - все нормально.