|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Windev 22 Création et exécution .bat |
Débuté par leroyJB, 16 mai 2018 11:05 - 3 réponses |
| |
| | | |
|
| |
Membre enregistré 4 messages |
|
Posté le 16 mai 2018 - 11:05 |
Bonjour à tous, je développe une appli, et dans le cadre de celle-ci j'ai besoin d'exécuter un jar, mais je galère sévère depuis 2 jours sans résultat, d'où mon appel aux secours (dans cet exemple de code, je n'essaye pas d'appeler le jar, donc ne vous arrêtez pas là dessus, mon souci actuel est vraiment sur le .bat). Si je crée le .bat par windev sans l'exécuter, puis que je l'exécute à la main, il fonctionne. Si je crée à la main le .bat et que je l'exécute par windev, il fonctionne. Si je le crée par windev puis l'exécute, ça plante. Un petit bout de code vaut mieux que tous les discours :
bMigrationOk est un booléen = Vrai ResCréation est un entier nResOuverture est un entier sContenuBat est une chaîne sContenuBat = "echo ""Montest.bat"" "+RC+"timeout /t 10"
ResCréation = fCrée(gsRepFichierBat+"Test01.bat") SI ResCréation <> -1 ALORS nResOuverture = fOuvre(gsRepFichierBat+"Test01.bat",foLectureEcriture) SI nResOuverture <> -1 ALORS fEcrit(nResOuverture, sContenuBat) SI fFerme(nResOuverture) <> -1 ALORS Multitâche(-1) //********************************************* SI PAS DDELance(gsRepFichierBat+"Test01.bat",DDEMaximise,Vrai) ALORS Erreur(ErreurInfo(errComplet)) FIN //********************************************* SINON Erreur("Impossible de fermer lanceurMk2Hor.bat"+RC+ErreurInfo(errComplet)) FIN SINON bMigrationOk = Faux LIB_Console += "Problème à l'ouverture de "+gsRepFichierBat+"lanceurMk2Hor.bat :"+RC LIB_Console += ErreurInfo(errComplet)+RC FIN SINON bMigrationOk = Faux LIB_Console += "Problème à la création du fichier "+gsRepFichierBat+"Test01.bat :"+RC LIB_Console += ErreurInfo(errComplet)+RC FIN
Si j'appelle mon bat comme ceci ou comme c'est fait entre les deux //********************************************* SI PAS LanceAppli(gsRepFichierBat+"Test01.bat") ALORS Erreur(ErreurInfo(errComplet)) FIN J'ai l'erreur (fichier déjà utilisé par un autre processus):
Voila quelqu'un aurait une piste. Ps : J'ai essayé aussi LanceAppliAssociée, mais là j'ai une erreur de partage de fichier. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 messages |
|
Posté le 16 mai 2018 - 11:41 |
Bon, parce que ça peut toujours servir pour d'autres personnes la solution au problème était dans les fCrée fOuvre. Utiliser les deux est une erreur, car deux instances du fichier sont ouvertes. Utiliser fSauveTexte gère la création, l'ouverture et la fermeture, ce qui est plus facile et allège considérablement le code. Un petit détail à ajouter bien penser à ajouter le chemin complet du jar dans le .bat, sinon le jar ne se lancera pas via windev, alors qu'en double cliquant dessus il se lancera.
sContenuBat est une chaîne sContenuBat = "java -Xmx1024m -jar "+gsRepFichierBat+"LanceurMk2Ho-1.0-SNAPSHOT-jar-with-dependencies.jar "... + "--spring.ds_isis.url=jdbc:mysql://"+gsIPSource+":"+gsPortSource+"/"+gsBaseSource+" "... + "--spring.ds_isis.username="+gsUtilisateurSource+" "... + "--spring.ds_isis.password="+gsMotDePasseSource+" "... + "--props.options[0]=archivePDF "... + "--conf_isis.clearfictemp=0"+RC+"pause" SI PAS fSauveTexte(gsRepFichierBat+"Test03.bat",sContenuBat) ALORS Erreur("Impossible de créer le bat."+RC+ErreurInfo(errComplet)) SINON Multitâche(-1) SI PAS DDELance(gsRepFichierBat+"Test03.bat",DDEActif,Vrai) ALORS Erreur(ErreurInfo(errComplet)) FIN FIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 939 messages Popularité : +66 (68 votes) |
|
Posté le 16 mai 2018 - 11:43 |
bonjour,
la fonction FCréé() créé le fichier mais l'ouvre en lecture écriture également et vous renvoie le Handle. Donc pas besoin de faire un fouvre après votre fCréé
bon dèv |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 messages |
|
Posté le 16 mai 2018 - 11:52 |
Merci, peut-être pourriez vous conseiller sur le choix entre fCrée et fSauveTexte. Dans mon cas les deux fonctionnent mais peut-être vaut il mieux utiliser l'un que l'autre.
-- Tout le monde est un génie. Mais si on juge un poisson sur sa capacité à grimper à un arbre, il passera sa vie à croire qu’il est stupide. – Albert Einstein |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|