读书人

多线程中使用TIDhttp的时候出现了这个

发布时间: 2013-03-29 14:24:52 作者: rapoo

多线程中使用TIDhttp的时候出现了这个问题
我在我的线程函数procedure TMyThread.Execute;里面使用了TIDhttp.get(),
我在socket每接收一个一条命令就创建线程TMyThread.Create(False);
运行程序后会报错:socket error 10060 connect time out
不知道是不是TIDhttp的问题,因为每次报错后我发现,最后创建的几个线程都没有结束。怀疑是tidhttp.get()那部导致线程死了。
请问各位高手该怎么解决!
[解决办法]
捕获下异常,做一下异常处理
[解决办法]
try
FIDhttp := TIDhttp.create(nil);
httpsource:=FIDhttp.Get(httpadrr);
FreeAndNil(FIDhttp);
// FIDhttp.free;
except
Showmessage('网络出错!');
FreeAndNil(FIDhttp);
end;
这样试下?
[解决办法]
网络连接超时了
[解决办法]
FIDhttp := TIDhttp.create(nil);
try
try
httpsource:=FIDhttp.Get(httpadrr);
except
Showmessage('网络出错!');
end;
finally
FIDhttp.free;
end;

局部对象create后以上得try..finally保证一定释放

读书人网 >.NET

热点推荐