WIN32APIのKillTimer()は、必ずしも呼ぶ必要は無いのでしょうか?
MSDNには、必ず必要とはありませんでした。
又、あるサンプルコードを読んだら、KillTimer()は呼ばれていませんでした。
従って、そのタイマを起動させたプロセス(もしくは窓?)の破棄時に、
自動的にタイマも破棄されるのかな?と推測しました。
どうぞ宜しくお願い致します。
必要ないのかどうかは分かりませんが、Timerを作成(?)しておいて、
KillTimer()を呼ばないのは、行儀の悪いプログラムだと思います。
私としては、出来る限り自分で後始末を行うのがよいかと。
このようなことに慣れてしまうと、ついついnewやmallocで作成したメモリの解放も、
忘れてしまうような気がします。
また、将来のプログラム変更においても、問題が発生する可能性もあるので、
やはり基本的には、後始末も必ず記述するほうがよいと思います。
サンプルコードに関しては、その出典が分かりませんが、インターネット上で公開されているソ
ースコードや、
たまには本などに掲載されているコードにも間違いはあります。
そのサンプルコードで書かれていないから、書く必要がないと考えるのはあまりよろしくないと
思います。
KING・王さん、有難うございます。
>行儀の悪いプログラムだと思います。
そうですね。今回の件は、行儀が悪い事になるのか否かを判断する為に質問させて頂いた
訳です。
が、MSDNに書かれてなかったり明確な反対意見が出ない所を見ると、どうやらWindowsが
破棄してくれると思っていいかもしれませんね。
「基本的には破棄コードが必要だが、寿命の短いテストコードでは厳格性は不要」と考え
る事に致します。
お世話様でした。
はっきりと確認したわけではないのだが、
プログラの終了処理(たとえばリソースの開放)とタイマーの
起動が重なることがあるらしく、プログラム終了時にエラーダ
イアログが表示されたりすることがたまにあるので、タイマー
終了処理はきちっと順序良く入れたほうがいいです。
>プログラム終了時にエラーダイアログが表示されたりすることがたまにある
そんな事があるんですね。私は一度も経験ないです。
>タイマー終了処理はきちっと順序良く入れたほうがいい
なるほど。よくわかりました。
どうもありがとうございました。