掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スレッドが終了したかを知るには? (ID:16107)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
OnTerminateイベントでしょう。 以下サンプルです ちなみにTMyThread内に途中終了処理が無いので途中終了しません。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TMeThread = class(TThread) private { Private 宣言 } protected procedure Execute; override; end; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private 宣言 } MeThread1 :TThread; procedure MeThread1Terminate(Sender: TObject); public { Public 宣言 } end; var Form1: TForm1; implementation uses Math; {$R *.dfm} { TMeThread } procedure TMeThread.Execute; var i:Integer; begin inherited; for i:=0 to 100 do Sleep(10); beep; end; //////////////////////////////////////////////// procedure TForm1.Button1Click(Sender: TObject); begin If MeThread1=nil then begin caption:='作成しました'; MeThread1:=TMeThread.Create(True); MeThread1.FreeOnTerminate:=True; MeThread1.OnTerminate:=MeThread1Terminate; MeThread1.Resume; end else begin caption:='終了要求出しました'; MeThread1.Terminate; end; end; procedure TForm1.MeThread1Terminate(Sender: TObject); begin MeThread1:=nil; caption:='破棄しました'; end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.