检查线程是不是被Terminated,如果是就new一个。

解决方案 »

  1.   

    用 TTimer 检测 Thread.Suspended 属性
      

  2.   

    或者直接在 TTimer 里面不断的调用 Thread.Resume.
    TTimer 1 秒触发一次.
      

  3.   

    在线程的类定义中,自行再加一个属性变量bool  Running;
         Execute()
           {
               线程代码;
               Running=false;  // 表示线程结束标志
           }     线程运行前,设  MyThread1->Running=true;
         一旦检测到 MyThread1->Running变成false;表示线程结束了,
    很简单,就看你想到没有  !
      

  4.   

    循环好,如下:
    Procedure TYourThread.Execute;
    Begin
      While ( Not Terminated ) Do
         你需循环执行的操作;
    End;