| SEND_MESSAGE + Correction EXECUTE | |
|
|
Auteur | Message |
---|
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 12:06 | |
| Salut Jack, Cela faisait longtemps...(au moins 1 jour ou 2 ) Voila, je souhaiterai une comande SEND_MESSAGE pour déclencher un événement dans une appli indépendante. Je m' explique, même si tu as du suivre le souci dans Outils Couleurs. Nous avons la possibilité de récupérer un événement déclenché par une autre application dans un programme mais pas celle de le déclencher. Silverman a bien partagé une procédure en passant par user32.dll mais sera t elle compatible sur d' autres OS, rien n' est moins sûr.... D' autre part, l' utilisation de EXECUTE et EXECUTE_WAIT avec des paramètres à transmettre provoque un message d' erreur dans lequel le paramètre prend la place du programme à ouvrir Si j' écris : EXECUTE_WAIT "MonProg.exe" "01212" J' ai droit à un message d' erreur me disant que le fichier "01212" est introuvable. Certes, ce message n' est pas bloquant, on clique sur ok et le programme est ouvert et les paramètres sont bien passés mais tu avoueras que cela fait peu sérieux en distribution et peut dérouter un utilisateur lambda. | |
|
| |
Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 12:23 | |
| Essaie comme ceci: - Code:
-
EXECUTE_WAIT "MonProg.exe" "NULL:" "01212" et dans MonProg, prends le deuxième paramètre... | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 12 Juin 2017 - 12:36 | |
| Là, c' est encore plus fort. toujours pas de trace du programme à ouvrir dans le message et ensuite j' ai une erreur ligne 11 dim ReceiveHnd% : ReceiveHnd%=val(param_value$(2)) | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 12 Juin 2017 - 12:50 | |
| Et pour cause : Programme d' appel - Code:
-
Clic: Prg$ = "C:\Users\Yannick\Desktop\Outils_Couleurs\PanoColorSelect.exe"+chr$(32)+"NULL:"+chr$(32)+str$(Handle_form("ProgAppel")) Execute_wait Prg$ return Programme receveur - Code:
-
message Param_value$(0)+chr$(13)+Param_value$(1)+chr$(13)+Param_value$(2) Message d' erreur Je clique sur OK, mon message
Les deux paramètres ne sont pris qu' en un seul et unique paramètre. Je vais essayer avec EXECUTE | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 12 Juin 2017 - 12:57 | |
| Avec EXECUTE au lieu de EXECUTE_WAIT, pas de message d' erreur mais pas d' ouverture du programme non plus. | |
|
| |
Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 13:04 | |
| @Yannick,
En regardant l'exemple de la doc pour EXECUTE_WAIT la syntaxe de ce que tu veux faire (EXECUTE_WAIT "MonProg.exe" "01212") m'incite plutôt à écrire EXECUTE_WAIT "MonProg.exe 01212".
De mon coté je me prends aussi la tête pour passer en paramètre une variable$ (Ex: EXECUTE_WAIT "Panoramic.exe "+source$), mais c'est peut-être moi qui ne sait pas comment faire.
A+ | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 12 Juin 2017 - 13:27 | |
| @ Jean Claude, Post 1 avec EXECUTE_WAIT (tous les messages) Post 2 avec EXECUTE (rien mais rien du tout) Je me suis aperçu de ce problème avec cette version (28i9). | |
|
| |
Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 13:44 | |
| En effet, je pense que c'est un bug. Impossible de transmettre deux ou plusieurs paramètres par EXECUTE_WAIT. J'ai fait le programme "receveur", créé en EXE, de la manière suivante: - Code:
-
' demo_pour_Yannick.bas
dim p1$, p2$
p1$ = param_value$(1) p2$ = param_value$(2)
message "P1=["+p1$+"] p2=["+p2$+"]" Et le programme "émetteur", celui qui lance le "receveur": - Code:
-
' demo_bis_pour_Yannick.bas
dim prog$, p1$, p2$
prog$ = "demo_pour_Yannick.exe" p1$ = "NULL:" p2$ = "12345"
execute_wait prog$+" "+chr$(34)+p1$+chr$(34)+" "+p2$
message "prog$ a terminé."
end Tout est cumulé dans le paramètre 1, et le paramètre 2 est vide. | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 12 Juin 2017 - 13:49 | |
| Et tu n' as pas eu le message du fichier introuvable avec les paramètres à la place du nom du programme ? | |
|
| |
Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 14:06 | |
| Si. Même si je fais comme ça: - Code:
-
' demo_bis_pour_Yannick.bas
dim prog$, p1$, p2$
prog$ = chr$(34)+"demo_pour_Yannick.exe"+chr$(34) p1$ = "NULL:" p2$ = "12345"
execute_wait prog$+" "+chr$(34)+p1$+chr$(34)+" "+p2$
message "prog$ a terminé."
end j'ai un premier message "Windows": suivi du message du programme qui s'est malgré tout bien lancé: Donc, triple bug: - reconnaissance incorrecte du nom du programme à lancer - concaténation des paramètres au lieu de les séparer - interprétation systématique du premier paramètre comme nom de source à exécuter (cici a déjà été signalé !) | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 12 Juin 2017 - 14:13 | |
| Un feu d' artifices de Bugs ! | |
|
| |
Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 15:40 | |
| Bon, hé bien maintenant je sais pourquoi je n'arrive à rien. A+ | |
|
| |
Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 18:58 | |
| Il me semble qu'il avait été décidé de séparer le fichier à exécuter de ses paramètres par le caractère pipe. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
|
| |
Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 19:07 | |
| J'ai du raté quelque chose concernant | (pipe). A suivre... | |
|
| |
Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 19:12 | |
| je n'ai pas le moyen de vérifier, mais EXECUTE_WAIT "MonProg.exe" "01212" ne me semble pas la bonne syntaxe.
As-tu essayé ceci : EXECUTE_WAIT "MonProg.exe|01212"
C'est un peu comme la syntaxe de FILTER des OPEN_DIALOG et SAVE_DIALOG _________________ username : panoramic@jack-panoramic password : panoramic123 | |
|
| |
silverman
Nombre de messages : 968 Age : 51 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 19:13 | |
| le caractère pipe ne change rien du tout, ça bug toujours | |
|
| |
Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 19:18 | |
| Je viens de regarder dans le code de Panoramic, et d'après le code, les bonnes syntaxe seraient:
EXECUTE "MonProg.exe|01212"
EXECUTE_WAIT "MonProg.exe 01212"
C'est à dire pour séparer le nom du fichier d'une variable: pipe (|) pour EXECUTE un blanc pour EXECUTE_WAIT
Mais il y a peut-être un bug ... _________________ username : panoramic@jack-panoramic password : panoramic123 | |
|
| |
papydall
Nombre de messages : 6985 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 19:23 | |
| J’ai fait un exe sur le bureau du code suivant (salut.exe ) - Code:
-
message "Salut " + param_value$(1)
Puis j’ai lancé le code suivant - Code:
-
execute_wait "c:\users\acer\desktop\salut.exe Panoramicien"
J’obtiens : En acquittant le message, j’obtiens bien ce qui est attendu
Dernière édition par papydall le Lun 12 Juin 2017 - 19:52, édité 1 fois | |
|
| |
silverman
Nombre de messages : 968 Age : 51 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Lun 12 Juin 2017 - 19:27 | |
| En effet, EXECUTE "MonProg.exe|01212" transmet bien le paramètre, mais il retourne la même erreur que EXECUTE_WAIT "MonProg.exe 01212". | |
|
| |
Jack Admin
Nombre de messages : 2381 Date d'inscription : 28/05/2007
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Jeu 15 Juin 2017 - 15:24 | |
| Dans le jeu d'essai de Yannick, il y a 2 erreurs.
1 - le nombre de paramètres entre l'émetteur et le récepteur n'est pas le même Pour l'émetteur, il appelle C:\Users\Yannick\Desktop\Outils_Couleurs\PanoColorSelect.exe en lui passant 2 paramètres: "NULL:" str$(Handle_form("ProgAppel"))
Et dans le récepteur, il utilise 3 paramètres
2 - dans le récepteur, les numéros des paramètres ne sont pas corrects: ils ne doivent pas commencer à 0, mais à 1:
message Param_value$(0)+chr$(13)+Param_value$(1)+chr$(13)+Param_value$(2) est incorrect
message Param_value$(1)+chr$(13)+Param_value$(2)+chr$(13)+Param_value$(3) est correct
Mais il y a bien un bug, et il n'est pas forcément dans Panoramic.
En effet, cela fait plusieurs jours que j'essaye de comprendre ce qui ne fonctionne pas et je me suis rendu compte que ça fonctionnait avec un ancien compilateur, que ça ne fonctionne pas avec le compilateur que j'utilise et que cela fonctionne avec le tout dernier (Tokyo) ...
De plus, ce problème de EXECUTE et EXECUTE_WAIT ressemble au problème que j'observe et que je ne comprends toujours pas sur l'éditeur. Car l'éditeur lance Panoramic par l'équivalent de EXECUTE, avant de lui passer le source à exécuter.
Je suis en train d'adapter Panoramic à ce nouveau compilateur pour faire fonctionner EXECUTE et EXECUTE_WAIT et peut-être aussi pour résoudre les problèmes de l'éditeur.
Mais entre le compilateur que j'utilise aujourd'hui et celui que je vais utiliser, il y a un peu plus de 12 ans d'écart, c'est à dire une éternité à l'échelle informatique. Il y a beaucoup de choses à adapter. Ce sera sans doute long, mais je pense que ça vaut le coup... _________________ username : panoramic@jack-panoramic password : panoramic123 | |
|
| |
Jean Claude
Nombre de messages : 5948 Age : 69 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE Jeu 15 Juin 2017 - 20:44 | |
| Merci Jack pour tes recherches, - Citation :
- Mais il y a bien un bug, et il n'est pas forcément dans Panoramic.
En effet, cela fait plusieurs jours que j'essaye de comprendre ce qui ne fonctionne pas et je me suis rendu compte que ça fonctionnait avec un ancien compilateur, que ça ne fonctionne pas avec le compilateur que j'utilise et que cela fonctionne avec le tout dernier (Tokyo) ...
De plus, ce problème de EXECUTE et EXECUTE_WAIT ressemble au problème que j'observe et que je ne comprends toujours pas sur l'éditeur. Car l'éditeur lance Panoramic par l'équivalent de EXECUTE, avant de lui passer le source à exécuter.
Je suis en train d'adapter Panoramic à ce nouveau compilateur pour faire fonctionner EXECUTE et EXECUTE_WAIT et peut-être aussi pour résoudre les problèmes de l'éditeur. J'ajoute que cela pourrait bien résoudre le comportement de l'objet SYNEDIT, en particulier Ctrl+V voir ici => https://panoramic.1fr1.net/t5302-copier-coller-dans-synedit-bug#65275. - Citation :
- Mais entre le compilateur que j'utilise aujourd'hui et celui que je vais utiliser, il y a un peu plus de 12 ans d'écart, c'est à dire une éternité à l'échelle informatique. Il y a beaucoup de choses à adapter.
Ce sera sans doute long, mais je pense que ça vaut le coup... Je dirais même que c'est prioritaire ! A+ | |
|
| |
Yannick
Nombre de messages : 8610 Age : 52 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 16 Juin 2017 - 14:10 | |
| @ Jack, Pour ce qui est de mon erreur, méa culpa. Je vais corrigé. Pour ce qui est de l' adaptation au compilateur Tokyo, comme le dit Jean Claude, si le souci vient du compilateur, cela devient la priorité absolu pour pouvoir continuer à faire évoluer Panoramic sans rencontrer d' autres problèmes. Et nous prendrons nôtre mal en patience même si ce mot n' est pas Panoramico-compatible. Mais cela sera un mal pour un bien. | |
|
| |
Contenu sponsorisé
| Sujet: Re: SEND_MESSAGE + Correction EXECUTE | |
| |
|
| |
| SEND_MESSAGE + Correction EXECUTE | |
|