Circulation d'info entre appli

cs_VinceVG Messages postés 221 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 30 mars 2016 - 13 nov. 2004 à 17:52
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 16 nov. 2004 à 17:10
Salut,

J'ai un problème et il n'ai pas tout neuf. J'ai récupérer un EDI (Environnement de Dévellopement Intégré). Celui-ci

permet de lancer des applications DOS et de récupérer leurs sorties (en fait lancer une compilation et récupérer les

erreurs).

Pour différentes raisons, je souhaite que ce soit une petite appli à moi qui lance la compilation, récupère les erreurs,

en traite certaines et retourne le reste vers l'EDI.

Ma première idée fut de renvoyer les erreurs vers une console DOS. En fait la console DOS a forcément un handle

différent de l'EDI et je pense que c'est ça le problème.

Je souhaite donc repasser des info texte à l'EDI.

Si l'un des petits génies qui hante ce site pouvait me répondre je lui en serait trés reconnaissant.

Merci

Vince VG

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 nov. 2004 à 19:10
Salut VinceVG
Si tu veux lancer des applis DOS et récupérer leurs sorties, je te suggère d'utiliser un 'pipe' : Cherche ce mot parmi les sources (il n'y en a qu'une).
Sinon, pour la 'circulation d'infos entre les applis', on peut utiliser les DDE : Dynamic Data Exchange, mais il faut que les deux applis aient été préparées à ces échanges pour dialoguer.

Vala
Jack
NB : Je ne répondrais pas aux messages privés
0
cs_VinceVG Messages postés 221 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 30 mars 2016
13 nov. 2004 à 19:15
Salut jack,

je te remercie tu mais tu m'avais déjà parlé du 'pipe' et je n'arrive pas à faire le retour.

Une autre idée ???

Vincevg
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 nov. 2004 à 19:25
re VinceVG
Mais si ça fonctionne très bien.
Regarde les derniers comments sur la source à ce propos.
Et arrête de poster la même question, ça ne te donnera pas plus de réponse pour autant.

Vala
Jack
NB : Je ne répondrais pas aux messages privés
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 nov. 2004 à 19:30
re
Sinon, pour tes commandes DOS, tu as tjrs la possiblité de réorienter les sorties vers un fichier :
MaCmdeDOS >Fichier.txt
et relire ce fichier après coup

Vala
Jack
NB : Je ne répondrais pas aux messages privés
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_VinceVG Messages postés 221 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 30 mars 2016
14 nov. 2004 à 12:58
Hello,

En fait ce que je cherche c'est une commande inverse de la ligne de commande.

Sinon il va falloir que je me mette au C++ ou que j'achète vb net
0
cs_VinceVG Messages postés 221 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 30 mars 2016
14 nov. 2004 à 13:08
Salut,

pour Jack :
J'ai attendu 3 semaines avant de reposer la même question, 3 semaines pendant lesquelles j'ai cherché ailleurs et tenté d'affiner mon problème.
Je ne vois pas pourquoi je n'aurais pas le drois de reposer la même question de temps à autre. Tout le monde ne passe pas sa vie sur ce site (même si c'est tentant) et qqn aillant rencontré le même pb peut voir mon message.
En plus je ne pense pas que ça gène qui que ce soit du moment que je ne fait pas ça 20 fois par jour et tous les jours.
Tant qu'au message perso que je t'avais envoyé, c'est parce que tu ne semblais pas avoir vu ma réponse sur le site et je te rappelle que tu peux masquer ton adresse si tu le veux.
Ceci dit je te remercie encore pour tes réponses qui m'aide bien quand même. :big)

Vince VG
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
14 nov. 2004 à 23:51
re VinceVG
-1- Pour les messages, c'est parce que tu avais dû cliquer plusieurs fois sur le bouton d'expédition, le serveur ne répond pas toujours correctement. Je te disais ça parce que l'avais répondu à ce post et que je revois le même plus haut. Bref, pas grave.

-2- Si je résume ton problème :
Tu veux lancer plusieurs opérations batch à la suite, possèdant des paramètres ... et récupérer ce qui sort de ces commandes pour tester les erreurs éventuelles ?
En disant ça, je pense que les commandes sont du style :
Compile C:\MonRép\MonAppli.obj -r -w
Eh bien, il te suffit d'entrer cette chaine dans la ligne de commande de la classe MyDOS dont je parlais dans le premier Post ('pipe')
Pour le résultat, il te suffit de faire :
Dim Résultat As String
MyDOS.Command = "Compile C:\MonRép\MonAppli.obj -r -w"
Résultat = MyDOS.ExecuteCommand

Si tu as plusieurs autres lignes à lancer, il te suffit de relancer ces commandes avec la commande adequat.

-3- Hypothèse :
Ton compilateur est un programme non lançable en ligne de commande.
Ce serait étonnant pour un programme DOS.
Si c'est le cas, il faut :
Ouvrir un fichier texte toto.txt, et saisir, sur des lignes distinctes, les paramètres à fournir au logiciel :
C:\MonRép\MonAppli.obj
Yes
C:\MonRép
No
... enfin tout ce qu'il peut te demander

Attention, le changement de ligne simule l'appuie sur la touche entrée.
Et en ligne de commande, tu mets :
Shell ("Compile.exe <toto.txt")
Cette méthode est un peu bricolo, mais elle fonctionne

Maintenant, si tu n'y arrive toujours pas, c'est que l'application que tu veux lancer est particulière. Donne nous plus de détails ...

Vala
Jack
NB : Je ne répondrais pas aux messages privés
0
cs_VinceVG Messages postés 221 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 30 mars 2016
16 nov. 2004 à 10:09
Merci encore de t'intéresser à moi.

Le problème n'est pas de lancer l'appli. En fait l'IDE que je souhaite utiliser (AnyEdit ou Programmers notepad 2) comprend un module création d'outils dans lequel j'indique le nom du fichier, son path, ses paramètres et comment je souhaite récupérer les erreurs.

Le compilateur c'est GCC. Lui utilise un makefile (fichier de lancement). Et est lançable par un prog make.exe.

Moi j'ai fait un petit bout de prg qui est aussi lançable par l'EDI. Il permet de saisir qq paramètres puis lance la compilation, récupère les info et les traites.

Maintenant je voudrais qu'à ça fermeture, il retourne le info. (les erreures) vers l'IDE afin de m'indiquer les lignes à modifier. Et c'est ça que je n'arrive pas à faire.

Vince
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 nov. 2004 à 17:10
Ah ... bah y a pas de miracle : si l'EDI ne fournit pas ces infos, difficile de lui faire cracher ...
Mais je ne comprends pas tout : Pourquoi as-tu besoin de cet EDI (que je ne connais pas), tu ne pourrais pas lancer le GCC an standard ?
Essaye de mettre ici les lignes de commandes que tu utilises, éventuellement une copie d'écran de l"EDI, ou un lien vers l'EDI que l'on voit de quoi tu parles.

Vala
Jack
NB : Je ne répondrais pas aux messages privés
0
Rejoignez-nous