OnTerminateを使うには?

解決


bMoL  2002-10-18 23:56:31  No: 1749

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-19 01:48:30  No: 1750

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


bMoL  2002-10-20 01:55:08  No: 1751

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

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


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加