Transmission de données au retour d'un module externe [Résolu]

Signaler
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013
-
cs_jacques13
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013
-
Bonjour à tous,
J'ai un programme principal qui appelle au moyen de shell un exécutable secondaire. Je lui passe des données par l'intermédiaire de Command(). Au retour du module secondaire vers le programme principal, je suis obligé de stocker les données qui ont été traitées dans un fichier temporaire pour les réinjecter dans le principal. Je trouve cette méthode un peu lourde et coûteuse en temps, quelqu'un connaîtrait-il un moyen de s'affranchir de ce fichier temporaire, une sorte de Command() à l'envers?
Jacques13

4 réponses

Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
salut,

la 2e appli lancée est-elle la tienne? en vb6 aussi?

dans ce cas regarde dans les sources de renfield, "partage de variable entre applications" ou un nom dans ce genre

si c'est une application DOS elle peut retourner un numéro.
dans ce cas cherche PIPE et/ou "attendre la fin d'une execution" : tu peux récupérer ce numéro en travaillant avec waitfgorsingleobject
pareil il y a quelques sources à dispo (dont une de casy si je ne dis pas de bêtise)

++

[hr]
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

Salut PCPT,
La 2e appli est mienne et écrite en VB6.
Dans les sources de Renfield (excellent!), j'ai trouvé "COMMUNICATION INTER PROCESS + PARTAGE MÉMOIRE" qui ressemble un peu à mon problème, malheureusement c'est du .net!
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

Merci PCPT,
La méthode de Renfield est intéressante mais bien trop complexe pour mon petit problème. Entre temps j'ai trouvé une solution satisfaisante: utiliser le ClipBoard.
Merci pour ton aide.