0

在Delphi XE2中,使用时TIdHTTP.Get,如何设置连接超时?(例如,当计算机未物理连接到 Internet 时超时)。我尝试使用ConnectTimeoutReadTimeoutTIdHTTP 属性设置连接超时,但它不起作用:

procedure TForm1.btnGetClick(Sender: TObject);
var
  S: string;
begin
  IdHTTP1.ConnectTimeout := 3000;
  IdHTTP1.ReadTimeout := 3000;

  S := IdHTTP1.Get('http://www.mywebsite.com/program_version.txt');
  lbl1.Caption := S;
end;

使用此代码,总是在恰好21 秒(!) 后显示消息对话框“连接超时”(当计算机未物理连接到 Internet 时)。

那么,如何设置 IdHTTP 连接超时?此外,超时时不应显示任何对话框,但应触发一个事件,因此我可以进行自己的超时事件处理。

更一般地说,我如何检测是否没有物理互联网连接?在这种情况下,我根本不必连接并节省超时时间(例如,在程序启动时在线检查最新程序版本时)。

印地版:10.5.8.0

4

0 回答 0