Utilisation de timer sous Visual C++ avec API Win32 [C++] - C++ - Programmation
Marsh Posté le 08-05-2003 à 17:02:47
ptet le 1er parametre de SetTimer(), faudrait ke ca soit le handle de la fenetre ki prend en compte le timer.
Marsh Posté le 08-05-2003 à 17:06:56
Je pense pas qu'on puisse descendre jusqu'à 1 ms avec les timers.
Je crois que la précision ne descend pas sous les 50-60 ms.
Marsh Posté le 08-05-2003 à 17:07:40
J'avais essayé aussi avec le handle de la fenetre mais ca marche pas non plus.
Sinon y'a pas un autre moyen de faire un timer en C++, il me faudrais un truc assez rapide quand meme.
Marsh Posté le 08-05-2003 à 19:22:28
ben deja ton ::SetTimer(hwnd, IDDETONTIMER, iTempsMilisecond, NULL) il retourne normalement IDDETONTIMER si c ok, tu le test ?
Sinon tu le Set a partir de koi ? (enfin ds une classe si c derive de CWnd tu peu utilsier SetTimer(IDDETONTIMER, iTempsMillisecond, NULL) aussi).
Marsh Posté le 08-05-2003 à 20:59:51
VisualC++ a écrit : ben deja ton ::SetTimer(hwnd, IDDETONTIMER, iTempsMilisecond, NULL) il retourne normalement IDDETONTIMER si c ok, tu le test ? |
tu t'emballes, regarde le titre, c de l'api win32
(bon ca change rien a la validité de ta remarque sur le test du code de retour)
Marsh Posté le 08-05-2003 à 21:56:29
Bah c ca que je ne comprend pas, dans MSDN y'a marké que si ca marche ca retourne un nombre different de 0. G verifié et ca retourne bien une valeur ... mais ca marche pas . Je comprend pas...
Marsh Posté le 08-05-2003 à 22:00:32
Ben si la valeur de retour = IDDETONTIMER c bon.
Maintenant tu parles de ta fonction callback mais c laquelle ?
Car soit c une vrai callback et c'est pas NULL que tu dois passer au SetTimer, sinon c ds la message queue que tu recup.
MAis ton code un poil lege la pour voir.
Marsh Posté le 08-05-2003 à 22:12:47
C dans la fonction callback principale. Mais comme g dit plus tot g essayé avec le handle de la fenetre et ca marche pas non plus...
Voila ma fonction callback :
Code :
|
Marsh Posté le 08-05-2003 à 22:26:39
c détail, mais t'as pas le droit de faire :
char g_FileName[100]="";
sinon pour ton pb de timer, t'es sur que t'y entres meme pas une seule fois ? met genre une msgbox ou autre pour voir.
Marsh Posté le 08-05-2003 à 22:30:49
Je vien d'essayer avec une message box et elle ne s'affiche pas donc ca ne rentre meme pas dans le WM_TIMER (j'avais regardé o debugger..).
Pkoi on a pas le droit de faire : char g_FileName[100]="";???
Marsh Posté le 08-05-2003 à 22:44:31
Euh je suis pas sur que WM_TIMER fasse partit de WM_COMMAND Faudrait verifier
Marsh Posté le 08-05-2003 à 22:48:52
C t ca merci beaucoup. C toujours les trucs les plus bete au quel on ne pense pas.
Encore merci, A+
Marsh Posté le 08-05-2003 à 22:52:45
C clair la prochaine fois je mettrais tout mon projet . G passer tout l'aprem à bloquer et en 2s tout fonctionne parfaitement c genial...
Marsh Posté le 09-05-2003 à 18:59:05
Au fait :
sous windows fo pas esperer descendre ne dessous de ~30ms... sinon fo prendre RT Windows ou un truc dans le genre (un pack specialement develepper pour le temps réel(cad + deterministe) sous Windows....
Marsh Posté le 08-05-2003 à 16:45:02
Bonjour,
J'ai besoin d'utiliser un timer dans une application Win32. J'ai ecris le code suivant pour l'activer :
et ca dans ma fonction callback :
Mais aucun message WM_TIMER n'est créé donc ca fait rien. Est ce que je me suis trompé quelque part???
Une autre petite question, y a t'il une periode à partir de laquelle ca ne sert à rien de decendre ou est ce que le timer fonctionne tres bien jusqu'a 1ms?
Merci