我的程序有2个窗口,启动窗口和主窗口。我在主窗口的线程中动态创建并使用到了ICS控件中的HTTPCLI控件。
现在有个奇怪现象,只有在主窗口放1个HTTPCLI(什么也不设置),才能正常工作。不放的话HTTPCLI就一直是超时,1个网站也打不开。有谁知道原因吗?

解决方案 »

  1.   

    你线程中动态创建的时候,把Onwer指定为窗体试试还这样吗
      

  2.   

    楼上的,我这样创建:HttpClient := THttpCli.Create(form1);
    结果一样,还是超时。一定要在启动窗口放1个,在第二个窗口放了还没用。真奇怪!
      

  3.   

    HttpClient := THttpCli.Create(nil);
    (最后自己释放)
    会怎么样呢?
      

  4.   

    HttpClient := THttpCli.Create(nil);我一直是这么写的。但是线程中总是超时。非得在第一个窗口放个HttpCli控件才行。郁闷。这到底是什么原因?郁闷的原因:在主窗口放了HttpCli控件,又导致其他一个通信控件失灵。在主窗口删除HttpCli控件,又导致打开网页全部超时。
      

  5.   

    线程中使用httpcli,要记住不要在线程构造函数中创建,只能在 线程的excute方法中创建,owner设为nil。线程构造函数是在线程被构造的那个线程里面创建的。而不是线程本身。。
    这话比较绕口。