Таймер C ++ не работает? - PullRequest
       12

Таймер C ++ не работает?

0 голосов
/ 15 сентября 2009

Я пытаюсь сделать таймер в C ++. Я новичок в C ++. Я нашел этот фрагмент кода

UINT_PTR SetTimer (HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc);

Я положил его в свои глобальные переменные, и он говорит мне

Ошибка 1, ошибка C2373: «SetTimer»: переопределение; модификаторы различного типа

Я не уверен, что это значит. Есть ли более правильный способ определения таймера?

Я не использую mfc / afx

Спасибо

Ответы [ 2 ]

3 голосов
/ 15 сентября 2009

Вы должны назвать это так:

void CALLBACK TimerProc(
 HWND hwnd, 
 UINT uMsg, 
 UINT idEvent, 
 DWORD dwTime 
)
{
 //do something
}

SetTimer(NULL, NULL, 1000, TimerProc);

Это установит таймер на 1 секунду и вызовет TimerProc, когда он истечет. Читайте TimerProc MSDN здесь: http://msdn.microsoft.com/en-us/library/ms644907%28VS.85%29.aspx

1 голос
/ 15 сентября 2009

Это не вызов функции - это объявление функции, которое вы, вероятно, уже в том числе откуда-то. Что вам нужно, так это фактический вызов SetTimer из вашего кода.

Можете ли вы опубликовать свой код, где вы пытаетесь установить таймер, и функцию, которую вы хотите, чтобы он вызывал при срабатывании?

...