Bonsoir à tous!!!
Je crois que je viens de découvrir un bug de la fonction ReadFile.....

......enfin j'espere pas!!!!
Ca fait lontemps que j'utilise le port COM mais je n'avais jamais vu un truc pareil...
Voila je vous explique la manip...
Je commence par ecrire un grand nombre d'octet sur le port COM avec la fonction WriteFile() // le nombre doctet depends du port COM et du hardware...( chez moi j'utilise une MOXA PCI 4 ports et je n'envoie que 55 octets...ouais cest peu surtout qu'à 40 octets ca passe...)
et je fait aussitot un ReadFile (avec un timeout de 100ms mais peu importe)
et la ...pouf! le ReadFile retourne aussitot TRUE mais le nombre d'octet qu'il a lu est de 0!!!!
Je ne comprend absolument pas pourquoi elle retourne TRUE alors qu'elle n'a pu rien lire...
En mettant un Sleep(100); entre les 2 cela passe nickel mais j'aimerais bien comprendre ce qu'il se passe...
Mon hypothèse est que la fonction WriteFile retourne en meme temps qu'elle écrit sur le port COM et du coup au moment du ReadFile, le Handle est occupé ou utilisé je sais pas très bien. Cela ne doit pas etre tres bien gérer et ne le voit pas comme erreur et retourne true.....mais ca crin....
Une solution : avoir une fonction qui permet de savoir si le Handle est OK ou BUSY mais je trouve rien du tout sur le net, je sais meme pas si ca existe ou si mon hypothèse est vrai

HELP....plz.....