2

我有德尔福 XE。我尝试设置Request.RangeidHttp我不能这样做。Delphi 不允许我在设计时和运行时这样做。

例如,我'6000-'在设计时设置 -> 属性一直为空。

我做(在一个线程中):

Downloader.Request.Range:=(IntToStr(DFileStream.Position) + '-');
synchronize(procedure begin showmessage(Downloader.Request.Range) end); 

showmessage(Downloader.Request.Range)什么都没有显示(一个空字符串)。

我在 HTTPAnalyzer 中检查了一个请求 -> 我的程序没有发送范围。

A 在 Delphi 2010 中检查了这种行为 -一切正常。我在设计/实时设置范围。结果在这两种情况下都很好。

有人有想法吗?

这是一个错误还是什么?

谢谢!

4

2 回答 2

5

Range属性已弃用,您必须使用该Ranges属性。

检查这个样本

uses
  IdHTTPHeaderInfo; 

var
  Range: TIdEntityRange;
begin
    Range := FHttp.Request.Ranges.Add;
    Range.StartPos := FRangeFrom;
    Range.EndPos := FRangeTo;
    FHttp.Get(FURL, FileStream);
end;
于 2011-08-26T14:00:44.203 回答
1

阅读此https://forums.embarcadero.com/thread.jspa?messageID=335670

如何在 Delphi XE 中设置范围:

idhttp1.Request.Ranges.Add.StartPos:=6000;

这是一样的

idHttp1.Request.Range:='6000-';
于 2011-08-26T14:34:33.517 回答