Problème d'appel à un module externe

Résolu
cs_jacques13
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013
- 24 avril 2007 à 18:10
cs_jacques13
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013
- 24 avril 2007 à 21:38
Bonjour à tous,
Ceci est une question que j'ai posée il y a quelques mois mais pour laquelle je n'ai pas reçu de réponse satisfaisante.
Soit un programme maître qui, par exemple, dessine sur une PictureBox; comment faire pour que ce programme appelle via l'instruction "shell" un exécutable secondaire qui vienne lui aussi dessiner sur ce même PictureBox?
Il est très possible qu'il n'existe pas de solution à mon problème!

11 réponses

jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
24 avril 2007 à 21:32
Très franchement : tu n'es pas prêt à te lancer dans une expérience de pseudo multi-threading avec VB6....
Le serais-tu et en serais-tu capable que celà ne ferait pas qu'alourdir ton appli mais la fragiliserait beaucoup !
3
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
24 avril 2007 à 18:15
Bonjour,

soit tu crées un module dans lequel tu écris tes fonctions de dessin et auxquelles tu passes tes paramètres (dont la PictureBox)

et tu joins ce module à ton projet

soit tu ne sais pas créer tes fonctions de dessin et tu veux utiliser un outil (tel Paint.exe) et tu l'insères comme objet OLE dans ton appli, quitte à te servir ensuite de copier/coller pour passer ton image dans une PictureBox.
0
cs_jacques13
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

24 avril 2007 à 18:25
Bonjour Jacques,
Je voudrais que ce module soit un exécutable externe mais je ne sais pas comment lui définir le PictureBox du programme principal.
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
24 avril 2007 à 18:33
Tu ne peux pas (ou alors par des acrobaties épouvantables).
Tu peux par contre inclure l'exe dont il s'agit dans ton application (soit en objet OLE) soit par la Fonction ShellExecute de l'Api de Windows.
Rien ne t'empêche alors d'utiliser le pressepapier (copier-coller) que ce soit en utilisant ta souris, l'onglet édition de l'exe importé (s'il en a un), l'objet ClipBooard, etc...pour "travailler" d'un côté (l'exe importé) et passer le résultat à ta PictureBox... et vice-versa.
Il serait toutefois plus normal, si c'est toi qui a développé l'outil de dessin, de mettre (comme je te l'ai dit) ses fonctions de dessin dans un module bas de ton appli, directement, et de compiler ensuite
0

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

Posez votre question
cs_jacques13
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

24 avril 2007 à 18:41
Tu as raison, il serait plus simple d'inclure ce module dans le programme principal mais le problème c'est qu'il s'agit d'une appli énorme et que je souhaite justement l'alléger.
Ta proposition d'utiliser le ShellExecute de l'api m'intéresse mais je ne vois toujours pas comment lui passer le handle du PictureBox!
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
24 avril 2007 à 18:48
Tu n'as pas (ou mal) compris...
Il ne s'agira pas de dessiner directement dans ta pictureBox mais de traiter ton dessin dans l'autre appli puis de le passer dans la tienne par copier/coller !!
Je te rappelle également la solution de l'insertion d'un objet OLE (l'autre appli directement , en lieu et place de ta pictureBox.
0
cs_jacques13
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

24 avril 2007 à 19:13
Dans mon cas particulier, ça n'est pas possible car il faut que le dessin exécuté par le module externe vienne se surajouter au dessin précédent et éventuellement qu'il y aie des allers-retours.
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
24 avril 2007 à 20:21
Tout reste possible en utilisant l'objet clipboard .....(tant les rajouts que le "vice-versa" !!!
0
cs_jacques13
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

24 avril 2007 à 21:18
Dans ton 2ème message, tu dis:


" ...Tu ne peux pas (ou alors par des acrobaties épouvantables)..."
Ça ressemblerait à quoi ces acrobaties?
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
24 avril 2007 à 21:26
A tout ce que tu n'es même pas en mesure d'imaginer (à la lecture de tes messages) et surtout à alourdir ton application mille fois plus que le "long code" que tu crains d'insérer pour gérer directement.
Oublie donc, celà vaudra un million de fois mieux.
0
cs_jacques13
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

24 avril 2007 à 21:38
Bon, tu m'as convaincu, j'abandonne mon idée qui me semblait pourtant fructueuse.
Si jamais tu avais une idée via les "handle", pense à moi!
Merci pour ton aide.
0