RunProgram() ou RunBuggé() ?

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
Naheulf
Messages : 191
Inscription : dim. 10/mars/2013 22:22
Localisation : France

RunProgram() ou RunBuggé() ?

Message 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 ?
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: RunProgram() ou RunBuggé() ?

Message 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)





@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
Naheulf
Messages : 191
Inscription : dim. 10/mars/2013 22:22
Localisation : France

Re: RunProgram() ou RunBuggé() ?

Message par Naheulf »

#PB_Program_Open c'est pas seulement pour communiquer avec le programme ?
Avatar de l’utilisateur
case
Messages : 1528
Inscription : lun. 10/sept./2007 11:13

Re: RunProgram() ou RunBuggé() ?

Message 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.
ImageImage
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: RunProgram() ou RunBuggé() ?

Message par venom »

Merci case






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
case
Messages : 1528
Inscription : lun. 10/sept./2007 11:13

Re: RunProgram() ou RunBuggé() ?

Message par case »

ton exemple le montrait :)
ImageImage
Avatar de l’utilisateur
Naheulf
Messages : 191
Inscription : dim. 10/mars/2013 22:22
Localisation : France

Re: RunProgram() ou RunBuggé() ?

Message par Naheulf »

Ok merci. Ça m'apprendra à mal lire la doc...
Répondre