Salut,
Il m'arrive un truc assez incompréhensible !
J'ai écris un programme qui marche bien. Dans ce programme j'utilise un WaitableTimer. En gros c'est un petit programme qui enchaine les fonctions: CreateWaitableTimer(), SetWaitableTimer(), et WaitForSingleObject().
Si dans ce programme, je rajoute au début une variable int short toto. Ca n'a aucune conséquence. Heureusement ! Si après cette déclaration je fais un scanf("%d", &toto), j'ai aucune erreur de compilation mais la condition:
if (WaitForSingleObject(hXXX, INFINITE) != WAIT_OBJECT_0)
est systématiquement fausse alors qu'elle ne l'était jamais avant l'ajout du scanf() ! La variable toto n'est utilisée nul part pourtant !
Si j'enlève le short (en gras plus haut), tout rentre dans l'ordre, il n'y a plus de problème.
Je suis scié ! Comment expliquer un tel comportement ???
Message édité par cimourdain le 19-03-2009 à 16:34:55