KillTimerせずにアプリ終了

[戻る]
roccy 2002/12/17(火) 12:51:27
開発環境は、MFC、VC++です。

CWndクラスのSetTimerをしたあと、KillTimerせずに
アプリを終了した場合、このタイマーはどうなるのでしょうか?
また、タイマーが解除されるとしたら、タイマーを
起動したオブジェクトが破棄されるときですか?
それとも、Appが破棄されるときですか?

もう一つ質問です。
SetTimerしたあとに同じタイマー識別子に対して
もう一度SetTimerした場合、KillTimerを2度
しないと、タイマーが解除されないということは、
ありますか?

渋木宏明(ひどり) [E-Mail] [HomePage] 2002/12/17(火) 12:58:49
>CWndクラスのSetTimerをしたあと、KillTimerせずに
>アプリを終了した場合、このタイマーはどうなるのでしょうか?

Win32 ではOSが尻拭いをしてくれることになっています。

が、テストプログラムでもない限りは、そんなだらしの無いコードは書かない方がよい
でしょう。

>また、タイマーが解除されるとしたら、タイマーを
>起動したオブジェクトが破棄されるときですか?
>それとも、Appが破棄されるときですか?

その CWnd 派生クラスのインスタンスと結び付けられたウィンドウが廃棄される時です
ね。

>SetTimerしたあとに同じタイマー識別子に対して
>もう一度SetTimerした場合、KillTimerを2度
>しないと、タイマーが解除されないということは、
>ありますか?

それは Win32 では起こり得ないはずです。

sugar 2002/12/17(火) 13:23:45
>SetTimerしたあとに同じタイマー識別子に対して
>もう一度SetTimerした場合、KillTimerを2度
>しないと、タイマーが解除されないということは、
>ありますか?

SetTimerの戻り値を調べてみるとわかると思います。

古いスレッドには追加発言できません。