Таймер работает в консольном приложении - PullRequest
1 голос
/ 26 сентября 2011

Я пытаюсь заставить работать таймер в моем приложении c ++.

Я могу определить свой таймер:

#define  IDT_TIMER  WM_USER + 200 
UINT Timeval;
UINT TimerID = 1;
UINT TimerMS = 20; 

Методы запуска и остановки:

UINT NAHDPbx::StartTimer (UINT TimerID)
    {

      UINT    TimerVal;
      TimerVal =  thewindow->SetTimer(TimerID, TimerMS, NULL);  // Starting the Timer
      return TimerVal;

    }// end StartTimer

BOOL NAHDPbx::StopTimer (UINT TimerID)
   {
          if (!KillTimer (TimerID))
          {
           return FALSE;
          }

         return TRUE;

   } // end StopTimer

И я запускаю таймер так:

Timeval=StartTimer(TimerID);

Однако в моем коде таймер никогда не срабатывает:

void NAHDPbx::OnTimer(UINT nIDEvent)
{
    StopTimer(TimerID);

        //Do stuff

    StartTimer(TimerID);
}

Есть ли примеры, как заставить работать таймер? Моя конечная цель - получать данные через UDP, и мне нужен способ отправлять и получать одновременно.

1 Ответ

0 голосов
/ 26 сентября 2011

Если консольное приложение завершается, обработчик таймера выходит из области видимости и ничего не происходит.

...