Obtendo um IStream de um OleVariant
Estou usando o Delphi junto com o WinHTTP para fazer uma solicitação HTTP para baixar alguns arquivos da Internet e posso fazer a solicitação, mas não sei como obter o IStream do OleVariant retornado deResponseStream
. Passei muito tempo pesquisando no Google, mas não consigo descobrir como fazê-lo. Aqui está o que eu tentei:
var
req: IWinHTTPRequest;
instream: IStream;
begin
req := CoWinHTTPRequest.Create;
req.Open('GET', 'http://google.com', false);
req.Send('');
if req.Status <> 200 then
begin
ShowMessage('failure'#10 + req.StatusText);
FreeAndNil(req);
Application.Terminate;
end;
instream := req.ResponseStream as IStream;
ShowMessage('success');
FreeAndNil(instream);
FreeAndNil(req);
end;
Mas eu recebo o erro[DCC Error] main.pas(45): E2015 Operator not applicable to this operand type
(a linha 45 éinstream := req.ResponseStream as IStream;
)
Como assustar o IStream de uma OleVariant?