Problème d'appel à 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
-
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013
-
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

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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 !
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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.
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

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.
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

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!
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
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.
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

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.
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Tout reste possible en utilisant l'objet clipboard .....(tant les rajouts que le "vice-versa" !!!
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

Dans ton 2ème message, tu dis:


" ...Tu ne peux pas (ou alors par des acrobaties épouvantables)..."
Ça ressemblerait à quoi ces acrobaties?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
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.
Messages postés
252
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
29 juin 2013

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.