Delphi で無名スレッド実行中に親オブジェクトを破棄するとスレッドはどうなるのか
Delphi で無名スレッド実行中に親オブジェクトを破棄するとスレッドはどうなるのか → 親オブジェクト破棄後も実行し続ける 以下、MyClass 内の無名スレッドから Caption へカウントダウンを表示するプログラムの抜粋、スレッド開始1秒後に MyClassを破棄しているが、カウントダウンはそのまま続行されます ちなみに TThread.CurrentThread に Terminated プロパティは存在しません type TMyClass = class(TObject) private public FForm: TForm; constructor Create; destructor Destroy; override; procedure StrtThread; end; implementation procedure TMyClass.StrtThread; begin TThread.CreateAnonymousThread( procedure var I: Integer; FFForm: TForm; begin FFForm := FForm; for I := 10 downto 0 do begin TThread.Synchronize(TThread.CurrentThread, procedure() begin FFForm.Caption := IntToStr(I); end); Sleep(1000); end; end).Start; end; // MyClass生成と廃棄 procedure TForm1.Button1Click(Sender: TObject); var MyClass: TMyClass; begin ...