首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

idhttp。get 卡死。该怎么处理

2013-01-06 
idhttp。get 卡死。。。关于在目的URL繁忙或者网络异常的情况下,,TIdHTTP.Get(URL)没有任何信息反馈,一直阻塞

idhttp。get 卡死。。。

    关于在目的URL繁忙或者网络异常的情况下,,TIdHTTP.Get(URL)没有任何信息反馈,一直阻塞在这里,try...except也无法捕获异常,网络搜索这方的解决办法,但是一直找不到,ConnectTimeout或者ReadTimeout根本不起作用,哪位大侠有这方面的解决办法的??? 有时候正常的,但是到网络不好的时候就会出现卡死。。
[解决办法]
终极办法:使用线程中动态建立idhttp。
[解决办法]
不在界面上用控件
动态创建idhttp,IdAntiFreeze来用

var
 IdHTTP: Tidhttp;
 IdAntiFreeze: TidAntiFreeze;
begin
  IdAntiFreeze:=TIdAntiFreeze.Create(nil);
  IdAntiFreeze.OnlyWhenIdle:=False;
  IdHTTP:=Tidhttp.Create(nil);
  try
     StrHtml:=IdHTTP.Get(PChar('http://www.vdj8.com/'));
  finally
      IdHTTP.Disconnect;
      IdHTTP.Free;
  end;
[解决办法]
可以用线程来解决,TidAntiFreeze可以解决界面不死锁,它采用的方式是不停的Application.ProcessMessage,会导致消息重入,如果想彻底解决,最好是采用线程加消息的方式。
[解决办法]
可以用线程处理
[解决办法]
我也没有没有好的办法  只能用线程
[解决办法]
idhttp是阻塞的,不用线程不成。

热点排行