1.我定义了个线程数组Carthread:array   of  TCarthread  ,然后Carthread[SLOCNO]:=TCarthread.create(SLOCNO)
是不是我用Carthread[I].terminate:=true就可以结束这个指定的线程呢?(SLOCNO可以变化,所以可以创建多个线程?)
2.如果上面的可行的话,我在线程里面写了TCarthread .Onterminate :=一个过程,这条语句是放到constructor TCarthread.create(SLOCNO: STRING);里面还是procedure TCarthread.Execute;里面呢?

解决方案 »

  1.   

    Carthread[I].terminate;
    这样就可以终止线程,这个不能赋值为true第二个要在你调用线程的单元里声明一个过程
    procedure CarthreadTerminate(Sender: TObject);然后设置Carthread[slocno].Onterminate := CarthreadTerminate;
      

  2.   

    第一个我得怎么终止这个线程数组里面的指定线程呀?
    第二个过程我是有在调用线程中声明的。Carthread[slocno].Onterminate := CarthreadTerminate;这代码是写在主程中吗?
      

  3.   

    第二个问题,可以放在create方法里,或者在调用create的代码后面
      

  4.   

    那我constructor TCarthread.create(SLOCNO: STRING);里面好了,第一个问题得怎么解决呀?可以用
    Carthread[I].destroy不?
      

  5.   

    Carthread[I].terminate;
    I是你要终止的线程号