Bonjour à tous,
Dans mon application je cherche à implémenter un timer. Avec la méthode SetTimer, je démarre mon timer en lui spécifiant la callback à appeler à l'expiration du timer.
Voici une version simplifiée de mon code:
Le problème que j'ai, c'est que je voudrais accéder à ma variable membre dans le procédure TimerProc sans avoir à la déclarer en statique dans la classe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 class CPwet{ ... int m_iValue; ... void Init(); static void CALLBACK TimerProc(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime); ... }; //---------------------- void CPwet::Init() { .... SetTimer(NULL,NULL,2000,(TIMERPROC)TimerProc); .... } void CALLBACK CPwet::TimerProc(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime) { .... }
La procédure du timer étant une procédure préformatée (je ne peux pas rajouter dans ses paramètres un pointeur sur la classe), y'a-t-il moyen de récupérer autrement un accès sur cette variable?
Sinon, avez-vous une autre solution que celle-ci?
Merci d'avance
Partager