Bonjour à tous,
J'ai une fonction appelée par un Thread secondaire. Cette fonction attend un message dans une boucle "TANTQUE truc=false"
Si ce message n'arrive pas, pour sortir de la fonction j'ai mis un TimerSys(,5 secondes) qui me positionne le flag "truc" à true et me permet ainsi de sortir du TantQue et donc de ma fonction.
En WD15, WD16, WD17 : pas de pb. ça fonctionne nickel.
Depuis WD18 : TimerSys() me renvoi 0 c'est à dire impossible de créer le Timer.
j'ai remarqué que dans l'aide de WD18 ils ont rajouté ceci :
Timer et Thread
"Une procédure lancée par les fonctions Timer ou TimerSys à partir d'un thread secondaire (fonction ThreadExécute) ne sera pas appelée. En effet, un thread secondaire n'a pas d'interface (c'est-à-dire pas de fenêtre ouverte) : ce thread secondaire ne reçoit pas les messages du système (la "boucle de message") comme le thread principal de l'application."
J'imagine que cela a un rapport !?...
Qu'en pensez-vous ?
Et quelle autre solution puis-je implanter pour sortir de ma fonction au bout de 5s si le message n'est pas arrivé ?
merci de votre aide,
Gilbert
Partager