tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: timeSetEventでタイマー処理
投稿日: 2017/06/01(Thu) 19:26
投稿者YuO
> 既存のtimerは分解能も精度も悪いので、timeSetEventで書いてみました。
> 1〜50mSecで時間を計測してみた結果は以下のようになりました。
> 立ち上がり時がうまくいっていません。(実際は25mSec程度で使うので、実用上はオケ)
> 改善する方法はありますか? バグ落ちしそうなところはありませんか?
> ちなみにWin7/VB2013です、VB歴ほぼなし。

timeSetEventで呼ばれるコールバック関数ですが,
https://msdn.microsoft.com/en-us/library/dd757634(v=vs.85).aspx
から直接リンクは張られていないものの,
https://msdn.microsoft.com/en-us/library/dd757632(v=vs.85).aspx
を見ればわかるとおり,TimerProcというプレースホルダがあります。
そして,その関数のリファレンス
https://msdn.microsoft.com/en-us/library/dd757631(v=vs.85).aspx
には,
・PostMessage
・timeGetSystemTime
・timeGetTime
・timeSetEvent
・timeKillEvent
・midiOutShortMsg
・midiOutLongMsg
・OutputDebugString
以外のシステム定義関数 (つまりはAPI) を呼び出すな,と書いてあります。

Interop部分で.NET Frameworkが上記以外のAPIを呼び出す可能性がある以上,
根本的にtimeSetEventを.NET Frameworkで使うのは危険だと思います。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。