WaitProgram() et ProgramExitCode()

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jmg49
Messages : 153
Inscription : mer. 26/févr./2014 8:53

WaitProgram() et ProgramExitCode()

Message par jmg49 »

Bonjour,

Mais pourquoi donc quand je lance un :

Code : Tout sélectionner

ping = RunProgram("cmd.exe" ," ?/c ping 10.48.52.1","")
resultat = WaitProgram(ping)         

J'obtiens une erreur L'argument 'Program' spécifié n'est pas valide (ligne resultat... pourtant j'ai bien défini mon RunProgram en tant que ping ... et l'editeur me propose bien ping comme program

de même avec

Code : Tout sélectionner

result = ProgramExitCode(ping)
à la place de WaitProgram(ping)

8O

Bloqué !!!

Merci d'avance
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: WaitProgram() et ProgramExitCode()

Message par Marc56 »

Il faut ajouter le paramètre #PB_Program_Open pour que le programme exécuté "communique" avec le suivant.

#PB_Program_Open : Open the program to communicate with it or get information about it.

Là ça marche :P

Code : Tout sélectionner

ping = RunProgram("cmd.exe" ," ?/c ping 10.48.52.1","", #PB_Program_Open)
resultat = WaitProgram(ping) 
(j'ai dû chercher dans la doc, car je ne trouvais pas non plus )
:oops:

PS. Quand tu as une commande avec un tas de paramètre, il est astucieux d'en mettre un par ligne, ça permet de debbuger plus facilement (puisque le le debbuger PB n'indique que le numéro de ligne et pas l'offset). tu peux couper à chaque signe (, + etc)

Code : Tout sélectionner

ping = RunProgram("cmd.exe",
                  " ?/c ping 192.168.0.1",
                  "",
                  #PB_Program_Open)


resultat = WaitProgram(ping)
Évite aussi d'utiliser des mots clés réservés à l'OS (ex: ping) c'est une source potentielle d'erreurs :)
Dernière modification par Marc56 le ven. 11/juil./2014 16:13, modifié 1 fois.
jmg49
Messages : 153
Inscription : mer. 26/févr./2014 8:53

Re: WaitProgram() et ProgramExitCode()

Message par jmg49 »

je l'ai enlevé ! car je pensais qu'il fallait l'utiliser avec #PB_Program_Read pour farfouiller dans les string de la sortie !!!

:P MErci
jmg49
Messages : 153
Inscription : mer. 26/févr./2014 8:53

Re: WaitProgram() et ProgramExitCode() code de retour d'err

Message par jmg49 »

chose étrange, je teste la fin du programme avec WaitProgram tout va bien

je peux alors faire un test pour voir le code d'erreur retourné par la commande,

Code : Tout sélectionner

ping = RunProgram("cmd.exe" ," ?/c ping 10.48.50.11","", #PB_Program_Open)

reslutat = WaitProgram(ping)

result = ProgramExitCode(ping)

MessageRequester("error", Str(result), #PB_MessageRequester_Ok)

J'obtiens un code 0 , que l'adresse ip soit joignable au ping ou non !!... 8O


bon....changement, je suis passé par un bon vieux FindString.....et cherché TTL ,

J'ai l'impression que mon test de code d'erreur s'applique sur le cmd.exe et non sur la commande ping

j'ai modifié mon RunProgram de cette façon :
ping = RunProgram("ping.exe" ,"10.48.50.11","", #PB_Program_Open)
J'ai la même.... ip joignable ou pas , return 0
Répondre