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

多线程中使用TIDhttp的时候出现了这个有关问题

2013-03-29 
多线程中使用TIDhttp的时候出现了这个问题我在我的线程函数procedure TMyThread.Execute里面使用了TIDhtt

多线程中使用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保证一定释放

热点排行