我正在做一个程序我想建立一个线程对象后,多次使用。第二次建立线程时,我使用 对象名.create(false);
问题是:当我执行了terminate 线程结束后,执行对象名.create(false). 对象怎么也不执行了,直接退出。希望大家积极参加讨论。

解决方案 »

  1.   

    这个区别就和Label1.Create和Label1:=TLabel.Create(self)差不多
    当你Terminate线程后线程已经释放,要重新创建线程实体
      

  2.   

    我设置freeonterminate属性为假。当线程的execute 方法执行完毕线程对象并没有释放。是执行对象名.create(true)时是可以调用它的构造函数的。但它的terminated属性却总为真,我怀疑是这个属性导致的。大家努力想想呀。
      

  3.   

    execute中加入
      while not terminate do
        begin
          //线程代码;
        end;