cs_jacques13
Messages postés252Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention29 juin 2013
-
25 avril 2006 à 19:01
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 2012
-
27 avril 2006 à 12:49
Bonjour,
A partir de mon programme principal, j'appelle par shell un programme secondaire en lui passant des données via Command().
Est-il possible, lors du retour au programme principal, de récupérer une variable en provenance du programme secondaire, en évitant l'astuce du fichier temporaire?
(développement en VB6)
Jacques13
=114198 jacques13, si l'application que tu lances n'est pas une application VB (plutôt DOS, ou au moins C avec du StdOut ou un code de sortie), tu peux aussi utiliser l'objet IWshRunTimeLibrary.WshShell, qui te fournit un objet IWshRunTimeLibrary.WshExec.
Pour accéder à cet objet, il faut ajouter la référence Windows Script Host Object Model (wshom.ocx) dans ton projet.
La méthode Exec du 1er objet te permet l'exécution asynchrone ou synchrone d'un process, et t'offre aussi une encapsulation de la création d'un pipe (jack, j'ai vu cette source de fredlynx, où il fait tout à la main, elle n'est pas mal du tout), via les propriétés StdIn, StdOut, et StdErr.
Le deuxième objet expose notamment une propriété ExitCode qui est fort utile.
Quand je trouverais plus de temps, j'essaierais d'en faire une source sur VBF (j'en ai 2, mais la 1ère est vendue à un client, faut épurer, et la 2ème est brouillon)
à+
rvblogn
<sup>
</sup><sup>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</sup>