高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

うーん・・・

 TWatch、完成。アラームも実装したし、あとはヘルプを書いて公開――
 ――といいたいのですが、Windowsセッション終了時、TWatchが起動してると終了できないという問題発生。WM_QUERYENDSESSIONがブロックされてるんだろうと思いますが、そんなことをした記憶はないし…。
 経験上、アプリケーションの終了時に何かエラーが起こるとか、いわゆる幽霊スレッドができたときのような、終了を指示したあとに何らかのループが始まってしまったときなどに、Windowsの終了がブロックされる…と言うことだったはず。

 タイマーのイベントをすべてコメントアウトしてみても、変化なし、そもそも、ふつうに終了を押したときには、アプリケーション終了音まできっちりして終了してるし、問題なし。うーん…。

 ほかにタイマーを動かしてるおそれがあるのはTimeoutユニットくらいなものだけど、これもメインのタイマーが止まると、メニューから何か指示しない限り動かないし…。

さっきテストしてみたところ、やっぱりTimeoutが原因だったようで…こういうところだけは勘が利くなぁ…(^_^;) Timeoutユニット使用部分を(uses含め)すべてコメントアウトすると正常に終了しました