Bonjour,
Je debute en vbs, j'essais de faire un petit programme qui lit en boucle un port com virtuel.
Voici mon minuscule programme
Le décor ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SUB MAIN Dim i Set MS=CreateObject("MSCOMMLib.MSComm") MS.CommPort=11 MS.PortOpen=True Do while i = T : i = MS.Input If i = S Then MC.SendCommand("ENPROG") End If Loop MS.PortOpen=False END SUB
J'ai un programme qui envoie sur le COM10 le caractere S pour start et T pour stop.
COM10 et COM11 sont une paire virtuel ( Com0Com )
Mon petit programme en vbs lit le Com11 en boucle... s'il reçoit "S" il execute la commande MC.SendCommand("ENPROG")...
Tant qu'il ne recoit pas "T", si c'est le cas, ferme le Com11 et exit.
J'aurai eu beaucoup de change si ce programme fonctionnait du premier coup mais ce n'ai pas le cas.
Le monitoring sur le Com11 m'indique bien que le programme tourne en boucle sur le Com11.
Le probleme survient lorsque je lance ce script.
MC.SendCommand("ENPROG") est executé immediatement, c'est une commande la mise en marche d'un moteur PàP.
Si j'envoie le message "S" sur le Com (Theoriquement, il devrait executer la commande MC.SendCommand("ENPROG"))
le monitoring m'indique la fermeture du port, soit la commande MS.PortOpen=False...
En gros ily a un decalage dans mon execution et je n'arrive pas a corriger ce defaut.
Quelqu'un aurait une idée
Merci pour toutes infos
Olivier
Partager