OVH Cloud OVH Cloud

BATCH DOS

10 réponses
Avatar
devwin39
Je veux faire un batch DOS qui appelle une application Windev.

Comment faire pour que mon appli Windev renvoit une valeur à mon batch
DOS dans la variable ERRORLEVEL ?

Merci d'avance.

10 réponses

Avatar
Romain Petit
(PASCAL) a écrit:

Je veux faire un batch DOS qui appelle une application Windev.
Comment faire pour que mon appli Windev renvoit une valeur à mon batch
DOS dans la variable ERRORLEVEL ?



http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q57/6/58.ASP&NoWebContent=1
http://support.microsoft.com/support/kb/articles/Q69/5/76.ASP

Pas possible à ma connaissance avec WD.
Mais au fait, tu es obligé de passer par un batch DOS ?

--
Romain Petit
Avatar
farplus
bonjour,

c'est tout à fait possible.
Il faut mettre la valeur à renvoyer dans le code du fermeture du programme:
par ex.:
renvoyer 2

exemple ton batch:

programme.exe
if errorlevel=2 goto OK
goto echec
:OK
echo Réussi !
goto final
:ECHEC
echo erreur
:final

A+
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr

http://forums.club-internet.fr/
Avatar
Romain PETIT
farplus a écrit :

c'est tout à fait possible.
Il faut mettre la valeur à renvoyer dans le code du fermeture du
programme: par ex.:
renvoyer 2



Je n'ai pas réussi à faire fonctionner cela, tu es sûr d'avoir testé ton
exemple ?


--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)
Avatar
Pascal H
Romain Petit a écrit dans
news::

Pas possible à ma connaissance avec WD.




Peut être avec la fonction FatalAppExit de la DLL kernel32 ?
Avis aux spécialistes ....

--
Pascal Héraud
Avatar
Romain PETIT
Pascal H a écrit :


Peut être avec la fonction FatalAppExit de la DLL kernel32 ?
Avis aux spécialistes ....



Heu non, ça affiche juste un message d'erreur fatale.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/fatalappexit.asp

--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)
Avatar
Pascal H
"Romain PETIT" a écrit dans
news:3f0eb911$0$11526$:

Pascal H a écrit :


Peut être avec la fonction FatalAppExit de la DLL kernel32 ?
Avis aux spécialistes ....



Heu non, ça affiche juste un message d'erreur fatale.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/de
bug/base/fatalappexit.asp




Oups, autant pour moi :(
J'avais mal interprété le paramètre uAction que je croyais modifiable.
J'ai bien fait de parler de spécialistes ;)
(au fait, Romain, nous sommes en Juillet ...)

--
Pascal
Avatar
Pascal H
"Romain PETIT" a écrit dans
news:3f0e9d84$0$11564$:

Je n'ai pas réussi à faire fonctionner cela, tu es sûr d'avoir
testé ton exemple ?




Trouvé à l'instant dans l'aide en ligne :

<<
Valeur de retour d'un exécutable WinDev

Un exécutable WinDev peut renvoyer une valeur de retour. Il suffit de :

1. Créer une variable globale au projet de type Entier

2. Initialiser cette variable avec la valeur à renvoyer.

3. Renvoyer cette variable avec le mot-clé RENVOYER dans le code de
fermeture du projet.






et

<<
Code de fermeture du projet

RENVOYER <Valeur à renvoyer>

Dans ce cas, la <Valeur à renvoyer> doit être un entier. Cette valeur
peut être récupérée par n'importe quelle application. Dans le cas d'une
application WinDev, la valeur renvoyée par une autre application peut
être connue par la fonction LanceAppli.






Ce que ne dit pas l'histoire, c'est comment _n'importe quelle
application_ récupère la valeur, ni où ...


--
 
Pascal
Avatar
Romain PETIT
Pascal H a écrit :

Ce que ne dit pas l'histoire, c'est comment _n'importe quelle
application_ récupère la valeur, ni où ...




REctification, ça marche :

batch :
***********************
@echo off
c:test.exe
if errorlevel 2 goto OK
goto echec

:OK
echo Reussi !
goto FINAL

:ECHEC
echo erreur !

:FINAL
echo fini
***********************


Code de l'EXE
(1 fenetre avec un bouton OK qui ferme l'appli (ferme())
ATTENTION SURTOUT PAS FinProgramme() qui n'appelle pas le code de fermeture
du projet.
Il faut également obligatoirement une fenetre.

**** code de fermeture du projet
RENVOYER 2

A+

--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)
Avatar
Pascal H
"Romain PETIT" a écrit dans
news:3f0ec6d2$0$11555$:

ATTENTION SURTOUT PAS FinProgramme() qui n'appelle pas le code de
fermeture du projet.




Si si, avec la version 7.x c'est possible en mettant un booléen à vrai
:

<<
FinProgramme([<Ligne1> [, <Ligne2> [...[, <Code de fermeture>]]])

Détail des paramètres

<Ligne1> ... <Ligne N> : Chaîne de caractères optionnelle

Lignes du message à afficher lors de l'arrêt du programme. Ce message
s'affiche dans une boîte de dialogue de type "Erreur".

<Code de fermeture> : Booléen

Faux (valeur par défaut) si le code de fermeture du projet n'est pas
exécuté.

Vrai si le code de fermeture du projet est exécuté.







--
Les bonnes habitudes sont beaucoup plus faciles à perdre que les
mauvaises. [ Somerset Maugham ]
 
Pascal
Avatar
Romain PETIT
Pascal H a écrit :

ATTENTION SURTOUT PAS FinProgramme() qui n'appelle pas le code de
fermeture du projet.





Si si, avec la version 7.x c'est possible en mettant un booléen à vrai



Ah, oui.
Bon, le Tour est passé,
bon WE....


--
Romain PETIT
(mailto:rompetit_chez_ifrance.com)