Un sleep qui fige l'instruction précédente

Résolu
Signaler
-
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
-
Salut à tous,

Voila je réalise une source dans laquelle j'ai un composant qui controle un port USB. Je l'active par une instruction et doit traiter immédiatement le signal par une seconde instruction. Manque de bol le périphérique USB met du temps à se lancer ce qui fait que la seconde instruction débute avant que le périph fonctionne.

Je me suis dis no problemo un petit sleep(5000); et le tour est joué.

Bien non, ca gele le lancement du périphérique et la seconde. Ce qui fait que le sleep ne change rien à mon probleme de départ.

Quelqu'un connait il l'explication ??

2 réponses

Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
salut,

tant que l'application attend elle bloque les processus. il faut redonner la main à windows

pour cela utilises :

Application.ProcessMessages;

l'aide DELPHI donne

Description



Appelez ProcessMessages pour permettre à l'application de traiter les
messages actuellement dans la file d'attente des messages.
ProcessMessages parcourt la boucle des messages Windows jusqu'à ce
qu'elle soit vide, puis rend le contrôle à l'application.



Remarque : L'oubli du traitement des messages
n'affecte que l'application qui appelle ProcessMessages mais pas les
autres applications. Dans des opérations longues, des appels réguliers
de ProcessMessages permettent à l'application de répondre aux messages
d'affichage ou autres messages.



@+

jlen
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
bon je n'avais pas tout lu

il faudrait en plus que tu testes que ton port est prêt avant de lancer l'autre instruction

@+

jlen;