Appele d'éxécutables externes

Résolu
cebtpdev Messages postés 2 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 13 août 2004 - 13 août 2004 à 12:18
cebtpdev Messages postés 2 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 13 août 2004 - 13 août 2004 à 14:35
Je cherche en urgence l'astuce qui me permet d'appeler un programme exécutable (.exe).
En fait, j'ai un projet qui a une interface de saisie de données, pour qu'il lance les calcul (et c'est sa ma question) : il doit appeler des modules externe (en réalité c'est des projets sous VB mais transformer en exécutable) qu'il leurs passe des params, ils font les calculs et il redonne la main au programme principale avec les résultats de calcul.
Merci infiniment et d'avance de votre aide

Courage

2 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 août 2004 à 12:30
Salut cebtpdev
Pour lancer un EXE en lui fournissant des paramètres, pas de problème. Il suffit de lancer :
Shell ("C:\MonProg.exe /Param1=18 /Param2=3 /Param3=1")
Il faudra aménager MonProg.exe pour qu'il recherche les paramètres fournis : il suffit qu'il lise la variable Command$ qui contiendra "/Param1=18 /Param2=3 /Param3=1". Tu n'auras plus qu'à dissocier les paramètres avec un Split par exemple.
Par contre, pour que ton MonProg.exe renvoie une valeur au premier programme, là, ça devient complexe (faisable mais complexe).

La première idée qui me viendrait à l'esprit serait de créer des DLL plutôt que des EXE.
Dans le projet MonProg, dit lui qu'il s'agit d'une DLL (Projet, Propriétés, Type de projet "DLL ActiveX), transforme la (ou les) Functions qui font les calculs en Public :
Public Function MaFonction(Param1 As Long, Param2 As Long, Param3 As Long) As Long

Dans ton projet principal, il te suffit de mettre la DLL ainsi crée en Référence (menu Projet/Références) et ensuite, il te suffit d'utiliser la fonction dans la DLL comme si elle était dans ton application :
Résultat = MonProg.MaFonction(18, 3, 1)

Si tu le veux, tu pourras rentrer toutes tes fonctions dans cette même DLL.

Vala
Jack
3
cebtpdev Messages postés 2 Date d'inscription vendredi 13 août 2004 Statut Membre Dernière intervention 13 août 2004
13 août 2004 à 14:35
Merci Jack Sa tourne très bien Tu m a sauver
Courage
0
Rejoignez-nous