投稿

5月, 2021の投稿を表示しています

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 MyC

Google AdSense の自動広告に切り替えたら、とんでもないところに広告を挿入された

イメージ
 Google AdSense の自動広告に切り替えてたら、とんでもないところに広告を挿入された 番号付きリストの途中に入れてくるとは... 番号参照する説明だったらズレてしまうって事です

MS-IME (Windows10 20H2) の WM_IME_NOTIFY で IMN_CLOSECANDIDATE が通知されない

イメージ
 Windows10 20H2 に含まれる MS-IME は、WM_IME_NOTIFY で、IMN_CLOSECANDIDATE が通知されない IMN_CLOSESTATUSWINDOW WM_IME_ENDCOMPOSITION は未確認 開始時の IMN_OPENCANDIDATE は通知されているので、仕様変更ではない(単なるバグ)のではと思われるが、意図は不明 一時的な対処方法 言語 → 日本語[オプション] → Microsoft IME[オプション] → 全般 を開き 互換性の「以前のバージョンの Microsoft IME を使う」をオンにする