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

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