掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
SetTimerで、タイマーを作るには? (ID:958)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
う〜ん、下みたいなコードを作って試してみましたが、エラーは出ませんでした。 どんなコードだったんでしょう?もしかすると、タイマー以外のところでエラーがあるのかもしれません。 ちなみに、このOnTimer関数がいつ呼び出されるのか気になって調べてみたら、Application.ProcessMessage中の、DispachMessageを呼び出したところでOnTimer関数がコールされました。呼び出す直前のMsg構造体のMsgIDを調べたら、WM_TIMER…。 TimerProcを設定しようが、結局メッセージの処理と同様に扱われていて、非同期の呼び出しにはなってないみたいですね。 procedure OnTimer(hwnd : THandle; uMsg,idEvent:integer; dwTime: DWORD); stdcall; begin with Form1 do begin label1.Caption := IntToStr(Count); inc(Count); end; end; procedure TForm1.Button2Click(Sender: TObject); begin IDTimer := SetTimer(0,0,300,@OnTimer); end; procedure TForm1.Button3Click(Sender: TObject); begin KillTimer(0,IDTimer); IDTimer := 0; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.