OnTerminateを使うには?

解決


bMoL  2002-10-18 14:56:31  No: 1749  IP: 192.*.*.*

TThreadにあるOnTerminateイベントはどうやって使うのでしょう?
public
  procedure test(Sender:TObject);
end;
  〜省略
constructor TRecvThrd.Create(Flag: Boolean);
begin
  OnTerminate := test;
end;

procedure test(Sender:TObject);
begin
  Form1.Caption := 'OnTerminate実行';
end;
とやっているのですが、test関数は呼ばれません。何が間違っているのでしょう。

編集 削除
にしの  2002-10-18 16:48:30  No: 1750  IP: 192.*.*.*

最初のtest関数はpublicの後なのでおそらくクラスのメンバ関数ですよね。
最後のtest関数は、クラス名がないので単純な関数です。
別物ですよ。
メンバ関数ならば、
procedure TRecvThrd.test(Sender: TObject);
begin
end;
となります。
それと、スレッドから別のスレッドのVCLを操作するときは、Synchronizeメソッドを利用しないとだめです。

編集 削除
bMoL  2002-10-19 16:55:08  No: 1751  IP: 192.*.*.*

> procedure TRecvThrd.test(Sender: TObject);
記入ミスでした。このように書いてありました。

何でかわからないんですけど、関数が呼ばれるようになりました。
お騒がせしてすみません。

編集 削除