KillTimer()は、必ずしも呼ばなくてもよい? – プログラミング – Home

KillTimer()は、必ずしも呼ば...
 
通知
すべてクリア

[解決済] KillTimer()は、必ずしも呼ばなくてもよい?


しん
 しん
(@しん)
ゲスト
結合: 25年前
投稿: 113
Topic starter  

WIN32APIのKillTimer()は、必ずしも呼ぶ必要は無いのでしょうか?
MSDNには、必ず必要とはありませんでした。
又、あるサンプルコードを読んだら、KillTimer()は呼ばれていませんでした。

従って、そのタイマを起動させたプロセス(もしくは窓?)の破棄時に、
自動的にタイマも破棄されるのかな?と推測しました。

どうぞ宜しくお願い致します。


引用未解決
トピックタグ
KING・王
 KING・王
(@KING・王)
ゲスト
結合: 20年前
投稿: 122
 

必要ないのかどうかは分かりませんが、Timerを作成(?)しておいて、
KillTimer()を呼ばないのは、行儀の悪いプログラムだと思います。

私としては、出来る限り自分で後始末を行うのがよいかと。

このようなことに慣れてしまうと、ついついnewやmallocで作成したメモリの解放も、
忘れてしまうような気がします。

また、将来のプログラム変更においても、問題が発生する可能性もあるので、
やはり基本的には、後始末も必ず記述するほうがよいと思います。

サンプルコードに関しては、その出典が分かりませんが、インターネット上で公開されているソ
ースコードや、
たまには本などに掲載されているコードにも間違いはあります。
そのサンプルコードで書かれていないから、書く必要がないと考えるのはあまりよろしくないと
思います。


返信引用
しん
 しん
(@しん)
ゲスト
結合: 25年前
投稿: 113
Topic starter  

KING・王さん、有難うございます。

>行儀の悪いプログラムだと思います。
そうですね。今回の件は、行儀が悪い事になるのか否かを判断する為に質問させて頂いた
訳です。

が、MSDNに書かれてなかったり明確な反対意見が出ない所を見ると、どうやらWindowsが
破棄してくれると思っていいかもしれませんね。
「基本的には破棄コードが必要だが、寿命の短いテストコードでは厳格性は不要」と考え
る事に致します。

お世話様でした。


返信引用
ボコノン教徒
 ボコノン教徒
(@ボコノン教徒)
ゲスト
結合: 22年前
投稿: 90
 

はっきりと確認したわけではないのだが、
プログラの終了処理(たとえばリソースの開放)とタイマーの
起動が重なることがあるらしく、プログラム終了時にエラーダ
イアログが表示されたりすることがたまにあるので、タイマー
終了処理はきちっと順序良く入れたほうがいいです。


返信引用
しん
 しん
(@しん)
ゲスト
結合: 25年前
投稿: 113
Topic starter  

>プログラム終了時にエラーダイアログが表示されたりすることがたまにある
そんな事があるんですね。私は一度も経験ないです。

>タイマー終了処理はきちっと順序良く入れたほうがいい
なるほど。よくわかりました。

どうもありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました