在线程的Creat里加上了freeOnTerminate:=True;
我用什么办法可以知道他释放了没有呢??
我在excute里加上if Terminated then .....但没出现所做的操作!!我该怎么办?

解决方案 »

  1.   

    在创建线程的地方加入:
      with MyThread.Create() do
        OnTerminate := ThreadEnd;procedure TForm1.ThreadEnd(Sender: TObject);
    begin
      ShowMessage('线程即将结束!');
    end;
      

  2.   

    我在FORM里把
    adoty:=AdotyThread.Create(strNum);
    改为
    with adoty.Create(strNum) do
        begin
          OnTerminate := ThreadEnd;
        end;    // with然后再
    adoty.Resume;结果出错,错误提示是:  Incompatible types: 'Parameter lists differ'
      

  3.   

    假如你的线程类的名称是:AdotyThread
    begin
      with AdotyThread.Creat('你要传的参数') do
        OnTerminate := ThreadEnd;
    end;procedure TForm1.ThreadEnd(Sender: TObject);
    begin
      ShowMessage('线程即将结束!');
    end;线程的Create事件里面加上:freeOnTerminate:=True;
    其它都可以不用加了。你的这个“adoty.Resume;”不知道是什么东东?
      

  4.   


    if  assigned( threadobject)  then   "thread need to free "