Page 1 sur 1
RunProgram() ou RunBuggé() ?
Publié : sam. 22/août/2020 20:24
par Naheulf
Pourquoi, à chaque fois que je code, est-ce que je tombe sur des bugs à la con ?
Code : Tout sélectionner
Toto = RunProgram("cmd.exe")
Debug Toto ; Affiche `1`
If Toto
Debug IsProgram(Toto) ; Affiche `0`
Debug ProgramRunning(Toto) ; Erreur : `L'argument 'Program' spécifié n'est pas valide`
EndIf
Dans la doc de `RunProgram()` il y a pourtant marqué :
Valeur de retour
Renvoie une valeur non nulle si le programme a été lancé avec succès, zéro sinon.
Vu que `Toto` vaut `1`, c'st bien la preuve que le programme s'est bien lancé ? (en plus de voir la console s'ouvrir)
Alors pourquoi est-ce que `IsProgram(Toto)` renvoi 0 ? et pourquoi `ProgramRunning(Toto)` affiche une erreur ?
Re: RunProgram() ou RunBuggé() ?
Publié : sam. 22/août/2020 20:47
par venom
Code : Tout sélectionner
Toto = RunProgram("cmd.exe", "", "", #PB_Program_Open)
Debug Toto ; Affiche `1`
If Toto
Debug IsProgram(Toto) ; Affiche `0`
Debug ProgramRunning(Toto) ; Erreur : `L'argument 'Program' spécifié n'est pas valide`
EndIf
CloseProgram(Toto)
@++
Re: RunProgram() ou RunBuggé() ?
Publié : sam. 22/août/2020 21:17
par Naheulf
#PB_Program_Open c'est pas seulement pour communiquer avec le programme ?
Re: RunProgram() ou RunBuggé() ?
Publié : sam. 22/août/2020 21:26
par case
en fait c'est spécifié dans la doc
Les commandes suivantes peuvent être utilisées lorsque l'option #PB_Program_Open est spécifiée:
- IsProgram(): teste si le numéro réprésente un programme lancé avec RunProgram().
- ProgramID(): renvoie l'identifiant système du programme.
- ProgramRunning(): teste si le programme est toujours en cours d'exécution.
- WaitProgram(): attend la fin du programme.
- KillProgram(): force le programme à quitter.
- ProgramExitCode(): renvoie le code de retour du programme.
- CloseProgram(): ferme les connexions du programme et libère les ressources.
Les commandes suivantes peuvent être utilisées par les programmes lancés avec les options #PB_Program_Read, #PB_Program_Write ou #PB_Program_Error:
- AvailableProgramOutput(): teste si des données sont disponibles.
- ReadProgramString(): lit une ligne à partir de la sortie standard du programme exécuté.
- ReadProgramData(): lit des données binaires à partir de la sortie standard du programme exécuté.
- ReadProgramError(): lit une ligne à partir de la sortie erreur du programme exécuté.
- WriteProgramString(): écrit une ligne sur l'entrée standard du programme exécuté.
- WriteProgramData(): écrit des données binaires sur l'entrée standard du programme exécuté.
donc ces commandes ne peuvent pas etres utilises si le flag #PB_Program_Open #PB_Program_Read, #PB_Program_Write ou #PB_Program_Error: ne sont pas present.
Re: RunProgram() ou RunBuggé() ?
Publié : sam. 22/août/2020 21:27
par venom
Merci case
@++
Re: RunProgram() ou RunBuggé() ?
Publié : sam. 22/août/2020 22:08
par case
ton exemple le montrait

Re: RunProgram() ou RunBuggé() ?
Publié : dim. 23/août/2020 9:34
par Naheulf
Ok merci. Ça m'apprendra à mal lire la doc...