Я использую Delphi вместе с WinHTTP для выполнения HTTP-запроса для загрузки некоторых файлов из Интернета, и я могу выполнить запрос, но я не знаю, как получить IStream из OleVariant, который возвращается из ResponseStream
. Я потратил много времени на поиск в Google, но не могу понять, как это сделать. Вот что я пробовал:
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;
Но я получаю сообщение об ошибке [DCC Error] main.pas(45): E2015 Operator not applicable to this operand type
(строка 45 - instream := req.ResponseStream as IStream;
).
Как мне напугать IStream до OleVariant?
Application.Terminate
, неверно. Это просто отправитWM_QUIT
сообщение, но ваша функция продолжит выполнение. - person David Heffernan   schedule 09.02.2011