Utilisateur anonyme
-
30 janv. 2006 à 22:49
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 2014
-
30 janv. 2006 à 23:19
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.
jlen100
Messages postés1606Date d'inscriptionsamedi 10 juillet 2004StatutMembreDernière intervention25 juillet 201413 30 janv. 2006 à 23:15
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.