Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: [Résolu] Echange de données entre codes Panoramic Sam 24 Aoû 2019 - 12:14 | |
| Bonjour les amis ? 1/ Imaginons que j'utilise 2 programmes Panoramic simultanément le programme A et le programme B. 2/ supposons que je veuille transmettre une chaîne de caractère de A vers B ou l'inverse... Comment puis je m'y prendre ? Y a-t-il un moyen simple de communiquer entre les 2 ? Je pense à USER_EVENT mais je n'ai aucune idée sur la façon de procéder... J'ai bien une solution dans l'absolu, mais qui ne me semble pas très fiable et nécessite l'usage d'un TIMER : 1/ Créer un fichier avec le programme A et y inscrire l'information à transmettre. 2/ Mettre un TIMER sur le programme B qui appelle une fonction permettant de vérifier si le fichier est présent. 3/ Ensuite il suffit de récupérer le contenu et d'effacer le fichier. Et le tour est joué. Mais je trouve cela un peu tiré par les cheveux. qu'en pensez vous ? Merci d'avance pour vos réponses !
Dernière édition par Minibug le Sam 24 Aoû 2019 - 15:40, édité 1 fois | |
|
silverman
Nombre de messages : 968 Age : 51 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: [Résolu] Echange de données entre codes Panoramic Sam 24 Aoû 2019 - 13:49 | |
| Tu peux utiliser USER_EVENT pour informer le programme B que le programme A à déposé des données dans un fichier par exemple, et vice-versa. Voici un code qui permet de déclencher l'USER_EVENT d'un autre form (dans cet exemple, l'USER_EVENT est déclenché dans le programme courant): - Code:
-
label Traite_User_Event dim wparam%,lparam% dim titre_form$
ON_USER_EVENT Traite_User_Event ' wparam% = 12 lparam% = 34 titre_form$="PANORAMIC V "+version$ SEND_EVENT(titre_form$, wparam%, lparam%) END Traite_User_Event: ' Off_User_Event :' erreur(29) ---> Plus d'accès aux variables systèmes si "Off_User_Event" ' select USER_EVENT_WPARAM case 12 message "USER_EVENT_WPARAM = "+str$(USER_EVENT_WPARAM)+chr$(13)+chr$(10)+"USER_EVENT_LPARAM = "+str$(USER_EVENT_LPARAM) end_select ' ' On_User_Event Traite_User_Event return
' SUB sub SEND_EVENT(form_name$,value1%,value2%) dim_local hndl%,ret% ' déclenche l'évènement(Attention, c'est toujours et uniquement le form 0 de l'executable en cours qui active la commande 'on_user_event'!) hndl%=handle_form(form_name$) if hndl%<>0 dll_on "user32.dll" ret%=dll_call4("SendMessageA",hndl%,4024,value1%,value2%) dll_off else ' ne rien faire end_if end_sub
| |
|
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Echange de données entre codes Panoramic Sam 24 Aoû 2019 - 14:03 | |
| Merci Silverman, Je savais qu'il y avait quelque comme ça... Par contre pourrais tu m'expliquer la logique car dans Panoramic il n'y a pas beaucoup d'infos sur ces fonctions. Et a quoi correspondent 12 et 34 ? leurs valeurs a t elle une importance ? etc... Merci pour ta réponse. | |
|
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 24 Aoû 2019 - 14:59 | |
| @ Minibug, Je me suis servi de cela pour un de mes éditeurs panoramic. Je vais regardé lequel mais je faisais communiquer mes outils avec le programme principal. C'était "Basic Editor", je fais un zip que je mettrai quelque part sur le web (MyDrive déborde ). Bon, finalement j' ai fait du ménage et j' ai mis çà sur Mydrive.
Dernière édition par Yannick le Sam 24 Aoû 2019 - 15:17, édité 2 fois | |
|
silverman
Nombre de messages : 968 Age : 51 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: [Résolu] Echange de données entre codes Panoramic Sam 24 Aoû 2019 - 15:14 | |
| wparam% = 12 et lparam% = 34 sont des exemples, tu mets ce que tu veux comme valeurs. Le sub SEND_EVENT(titre_form$, wparam%, lparam%) du programme principal (programme A) envoi à programme B (titre_form$ = programme B) ces 2 valeurs. Programme B récupère ces 2 valeurs dans les variables panoramic USER_EVENT_WPARAM et USER_EVENT_WPARAM.
Et inversement, programme B peut envoyer des valeurs à programme A de la même manière. Au préalable, il faut connaitre caption$(programme A) et caption$(programme B) pour renseigner la variable "titre_form$" | |
|
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Echange de données entre codes Panoramic Sam 24 Aoû 2019 - 15:39 | |
| Ok je comprends mieux le fonctionnement maintenant ! Je te remercie Silverman. | |
|
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: [Résolu] Echange de données entre codes Panoramic Sam 24 Aoû 2019 - 17:38 | |
| Me voilà de retour ! Après le test du code de Silverman où on est à la fois l'emetteur et le recepteur. tout fonctionne parfaitement. Ensuite j'ai tenté de créer 2 codes avec pano_emetteur et pano-recepteur. Je les ai transformé en exécutables tous les 2. J'ai lancé pano-recepteur pour le mettre en 'attente'. Et ensuite j'ai lancé pano_emetteur avec un clic sur le bouton envoi pour déclenché la communication. Mais hélas rien n'est retourné dans pano-recepteur. Bizarre car lorsque je regroupe les lignes dans un seul code tout fonctionne comme dans l'exemple de Silverman.Je viens de trouver. Tout fonctionne parfaitement ! | |
|
Contenu sponsorisé
| Sujet: Re: [Résolu] Echange de données entre codes Panoramic | |
| |
|