Sunday, 15 June 2014

visual c++ - How to make WM_TIMER msg be called in ordered sequence in WinApi? -



visual c++ - How to make WM_TIMER msg be called in ordered sequence in WinApi? -

i'm doing winapi programming , have problems related wm_timer msg: example, when set function activates when wm_timer msg called, update() function example, function still called though killed timer. what's main problem right when believe deleted class contain update() function, class still calls update() function though killed timer , class first, , because of this, memory error because update() function deals attributes deleted in previous delete function. there solution create wm_timer called after task done?

the wm_timer message flag -- when timer expires, flag set generate single wm_timer event if message queue empty , getmessage called.

this avoids clogging scheme many wm_timer messages , collapses multiple expired timers one, has disadvantage of delivering wm_timer message after other messages (wm_paint treated similarly).

so seeing timer have killed has elapsed , flag set, message not delivered until programme otherwise idle.

you want maintain flag memorize whether waiting timer event.

in application multiple timers in parallel you'd maintain list of active timers, , utilize windows timer mechanism schedule next timer elapse, , in handler, invoke sub-handlers deadlines past.

visual-c++

No comments:

Post a Comment