我在看线程的时候,发现如下一个问题,不太明白:
Provide
  Procedure ThreadsDone(Sender :TObject);
这是一个过程的声明。
在下面有这样一句代码:
  OnTerminate := MainForm.ThreadsDone;
其中,OnTerminate是线程中的一个属性,类型Boolean。我不明白的是,每个过程都像函数一样有返回值的吗?

解决方案 »

  1.   

    OnTerminate := MainForm.ThreadsDone;并不是说onterminate 赋值为MainForm.ThreadsDone的返回值,而是
    onterminate事件处理过程赋值为过程MainForm.ThreadsDone
      

  2.   

    你看错了
    OnTerminate是线程对象的一个属性,不过类型不是Boolean,而是TNotifyEvent类型。
    另外,线程对象还有个Terminated属性,这个才是Boolean类型
    ,还有,线程还有一个Terminate方法,它是个方法。
      

  3.   

    OnTerminate := MainForm.ThreadsDone;
    //当线程完成时,触发MainForm.ThreadDone这个事件