2006年04月02日

マルチメディアタイマ・改訂版

さて、前回アップしたマルチメディアタイマですが、速攻で問題点を見つけました。このままでは実行中に参照が無くなったとき、タイマが実行中でも止まってしまいます。

それはいけない。手本である System.Timers.Timer はタイマが有効な間は参照が無くなってもタイマを止めるまでは動き続けるようにデザインされています。

今回初めて知ったんですが、標準ライブラリの三つのタイマクラスのうち System.Threading.Timer クラスだけは実行中でも GC に回収されます(当然タイマは強制中断)。

続きを読む
posted by Hongliang at 21:35| Comment(2) | TrackBack(0) | .NET | このブログの読者になる | 更新情報をチェックする

マルチメディアタイマ

某掲示板に触発されて、ついマルチメディアタイマを使ったタイマクラスを書いてしまいました。

タイマが独自スレッドで動くことから、System.Timers.Timer とほぼ同じ構成にしています。私自身は VS を滅多に使わないから割と無駄っぽいですが、既定のプロパティやイベントを設定してみたり、コンポーネントを D&D した時点で SynchronizingObject が自動的に設定されるようにしてみたり、とちょっとしたコンポーネント作成のお勉強と言った雰囲気。

ドキュメントは WinXP 対象に書いてますが、9x 系ではマルチメディアタイマの挙動が微妙に違うらしいので要注意です。

今回は、コンポーネントをデザイナ画面に D&D したときに自動的にプロパティを設定するにはどう実装するかを考察してみましょう。

追記(06/04/02)この MultimediaTimer クラスは、速攻で改訂版が出ました。こっちのは残していますが使うべきではありません。

続きを読む
posted by Hongliang at 00:01| Comment(0) | TrackBack(1) | .NET | このブログの読者になる | 更新情報をチェックする

ここ(hongliang.seesaa.net)で公開しているものについて、利用は自由に行って頂いて構いません。改変、再頒布もお好きになさって下さい。利用に対しこちらが何かを要求することはありません。

ただし、公開するものを使用、または参考したことによって何らかの損害等が生じた場合でも、私はいかなる責任も負いません。

あ、こんなのに使ったってコメントを頂ければ嬉しいです。

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。