[R] STD OUT & STD ERR

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

[R] STD OUT & STD ERR

#1

Message par DimVar »

Bonjour,


Je viens de decouvrir que le langage (en general) permet de faire "sortir" une sortie standard et erreur.
Je me demande donc comment je peux faire apparaitre la STD out dans une console DOS.
Quelle est la fonction necessaire ?
J'ai essayé le code ci-dessous mais cela ne s'affiche que dans la console de Scite, et pas dans un cmd, si je lance l'exe à partir d'un CMD.
► Afficher le texte


Suis-je clair ? (car je decouvre ce "procédé")

Merci.
Modifié en dernier par DimVar le lun. 26 déc. 2011 20:23, modifié 1 fois.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#2

Message par TommyDDR »

Pour que cela s'affiche dans la console, il faut compiler votre code en CUI et non en GUI (clic groid / complie with options / Cochez : Use CUI instead of GUI")
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#3

Message par DimVar »

CA MARCHE !!! :D
Difference entre les 2 ? (cui gui)
[EDIT] Je viens de voir la definition dans l'aide de la commande ConsoleWriteError => CUI = Console User Interface ; GUI = Graphic User Interface

1000 Merci Tommy !!!
J'ai l'impression d'avoir fait un grand pas avec ce nouveau concept !
Ca résoud en plus un vieux pb que j'avais avec mes scripts compilés en GUI qui ne fonctionnait jamais quand je les installait en Service Windows.
Modifié en dernier par DimVar le jeu. 22 déc. 2011 16:51, modifié 1 fois.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#4

Message par TommyDDR »

Pour info : CUI permet quand même vos GUICreate mais par contre vous aurez toujours une console qui s'ouvrira au lancement du script.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#5

Message par DimVar »

Mince. J'arrive bien à afficher la sortie en console avec la compilation CUI.
Par contre, dans le script ci-dessous, j'archive des logs...
► Afficher le texte
... et quand je lance cet exe (compilé en CUI) à la souris, pas de soucis, il fait le boulot et se ferme.
Quand je le lance par notre scheduller (JobScheduller), le programme se lance (je le voit dans les process de Windows) mais il ne fait rien...
Archi : Windows Serveur 2008


[EDIT] J'ai trouvé ca mais malgré les pistes, le programme reste comme figé.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#6

Message par Tlem »

Problème de droits sans doute, car en mode service, les droits ne sont pas les mêmes. ;)
Probablement sur le RunWait().
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#7

Message par DimVar »

J'ai verifié les droits, pas de pb, l'ordonnaceur a les droits (et lance les exe) admin local et est de plus admin du domaine.
Du coup, comme ce script ne se lance pas, j'ai essayé un script d'une ligne avec juste un msgbox (script 1) et un autre avec juste un consolewrite compilé en CUI (script2).
Le script 2 se lance sans soucis, mais le script 1 me fait apparaitre cette popup (server 2008).
Image


Je seche complet...
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#8

Message par Tlem »

Humm, je dirais normal dans ce cas, puisque la session n'est pas forcément active et donc l'interface graphique non plus !!!
L'affichage d'une GUI ou boite de dialogue ne peut se faire que si la session est active ou ouverte. ;)

Ceci dit, j'avais déjà jeté un œil sur le code, mais pas vu un appel graphique quelconque. Donc il faut sans doute débugger ligne par ligne et voir là ou ça bloque.
Faites un fichier de log et ajoutez une inscription pour chaque action. Vous trouverez forcément la ligne fautive.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#9

Message par DimVar »

Vous pensez par debug : Filewrite (dans un log) apres chaque appel de fonction ?
Ceci dans le but de connaitre à quel N° de ligne du code, le système bloque l’exécution ?

Merci.
[EDIT] en attendant votre retour, j'ai procédé à ca :
► Afficher le texte
Le log s'arrete à "$ini" :shock:
Autrement dit, dés qu'il tente de renseigner $Pathlog avec l'array $ini, ca coince !
Là je seche...

[EDIT2] La section de l'aide me dit que je dois declarer un tableau avecx DIM. Est ce que ca pose un pb si je declare un tableau avec "global" ou "local" ? J'ai essayé avec DIM mais ca ne change rien.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#10

Message par Tlem »

Je ne sais pas si c'est ca, mais, au lieu d'utiliser un chemin relatif, essayez plutôt de le spécifier.

Code : Tout sélectionner

Global $ini = IniReadSection (".\Archivage.ini","PARAM")
deviendrait

Code : Tout sélectionner

Global $ini = IniReadSection (@ScriptDir & "\Archivage.ini","PARAM")
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#11

Message par DimVar »

:D Ca marche.
Pouvez vous me dire pourquoi cela fonctionne avec des chemins absolus ?
Dois je tjs proceder ainsi ? Pkoi ne peut on utiliser cette syntaxe ".\chemin" ? (puisque elle fonctionne en local)

Grand merci. (5 jours que je suis dessus :evil: )
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#12

Message par TommyDDR »

Quand vous lancez votre code par Scheduler, c'est par la session system que le programme est lancé et donc toutes les interactions sont faites avec l'environnement de celui-ci (j'ai eu le même problème pour un script lancé en tant que service).

À ma connaissance, vous ne pourrez pas interagir avec l'utilisateur.

PS : Sous XP, l'environnement system et utilisateur sont "les mêmes" vous pourrez interagir avec l'utilisateur.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] STD OUT & STD ERR

#13

Message par DimVar »

Merci pour le retour d’expérience. :)

Concernant la déclaration du path, j'ai trouvé ca qui nous dit que le chemin relatif peut être utilisé par la session de l'utilisateur en cours.
Donc dans le cas qui m'occupe, le relatif est à éviter.

Je clos.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Répondre