idhttp。get 卡死。。。

liuxch2008 2010-04-22 03:08:29

关于在目的URL繁忙或者网络异常的情况下,,TIdHTTP.Get(URL)没有任何信息反馈,一直阻塞在这里,try...except也无法捕获异常,网络搜索这方的解决办法,但是一直找不到,ConnectTimeout或者ReadTimeout根本不起作用,哪位大侠有这方面的解决办法的??? 有时候正常的,但是到网络不好的时候就会出现卡死。。
...全文
742 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinazxy2008 2012-12-14
  • 打赏
  • 举报
回复
太自私了,大家这么热心的回复你,你解决了还是应该把成果共享出来大家一起分享
chinazxy2008 2012-12-14
  • 打赏
  • 举报
回复
为什么不说是怎么解决的呢
wangpeng2011314 2011-10-24
  • 打赏
  • 举报
回复
喀喀喀
远方的姑娘 2010-06-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sqldebug_fan 的回复:]
可以用线程来解决,TidAntiFreeze可以解决界面不死锁,它采用的方式是不停的Application.ProcessMessage,会导致消息重入,如果想彻底解决,最好是采用线程加消息的方式。
[/Quote]

关于这句话我还是不理解耶!!谁能给解释一下???如果用线程来处理,是不是就不需要TidAntiFreeze了?
Zimmerk 2010-04-23
  • 打赏
  • 举报
回复
我也没有没有好的办法 只能用线程
liuxch2008 2010-04-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sqldebug_fan 的回复:]
可以用线程来解决,TidAntiFreeze可以解决界面不死锁,它采用的方式是不停的Application.ProcessMessage,会导致消息重入,如果想彻底解决,最好是采用线程加消息的方式。
[/Quote]

线程在看。准备用线程,只是想知道其他人遇到后是怎么处理的
huasi 2010-04-23
  • 打赏
  • 举报
回复
可以用线程处理
liuxch2008 2010-04-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 gxvdj8 的回复:]
不在界面上用控件
动态创建idhttp,IdAntiFreeze来用

var
IdHTTP: Tidhttp;
IdAntiFreeze: TidAntiFreeze;
begin
IdAntiFreeze:=TIdAntiFreeze.Create(nil);
IdAntiFreeze.OnlyWhenIdle:=False;
IdHTTP:=Tidhttp.……
[/Quote]

。。。。你啥原理,我IdAntiFreeze不是动态创建的,但是idhttp我是动态创建的,总之感谢我再看看
liuxch2008 2010-04-23
  • 打赏
  • 举报
回复
谢谢。大家回复。我已经自己用线程解决了。。哈哈。。没人都有分。。。
lhy 2010-04-23
  • 打赏
  • 举报
回复
idhttp是阻塞的,不用线程不成。
SQLDebug_Fan 2010-04-22
  • 打赏
  • 举报
回复
可以用线程来解决,TidAntiFreeze可以解决界面不死锁,它采用的方式是不停的Application.ProcessMessage,会导致消息重入,如果想彻底解决,最好是采用线程加消息的方式。
-失魂落魄- 2010-04-22
  • 打赏
  • 举报
回复
不在界面上用控件
动态创建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;
liuxch2008 2010-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 huboy 的回复:]
终极办法:使用线程中动态建立idhttp。
[/Quote]

哥们这个方法我也知道的,在研究了,难道其它方法都没有么,大家都没遇到过啊
huboy 2010-04-22
  • 打赏
  • 举报
回复
终极办法:使用线程中动态建立idhttp。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧