我使用Delphi和WinHTTP一起執行HTTP請求從互聯網上下載一些文件,我可以做請求但我不知道如何從OleVariant獲取IStream,從ResponseStream
返回。我花了大量的時間搜索,但我無法弄清楚如何去做。這是我曾嘗試:從OleVariant獲取一個IStream
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;
)。
如何嚇跑OleVariant的IStream?
你假設當你調用`Application.Terminate`時執行停止不正確。這只是發佈一個`WM_QUIT`消息,但你的函數將繼續執行。 – 2011-02-08 21:53:18