Je souhaite depuis lontemps pouvoir ajouter facilement des possibilités
à Panoramic qui dépassent son cadre actuel. J'y arrive dans une certaine
mesure avec des DLL, mais je souhaite aller plus loin. En attendant une
éventuelle possibilité de plug-in, je propose les fonctions suivantes:
1. déclarer un évènement "utilisateur"
USER_EVENT n
définir un évènement déclenché de l'extérieur, par l'API PostMessage.
Le numéro de message est créé par RegisterWindowMessage avec le nom:
"PANORAMIC_USER_EVENT_"+str$(n)
2. déclarer une routine d'évènement pour l'évènement déclaré
ON_USER_EVENT n,label
se brancher sur le label lors de la survenue de l'évènement utilisateur n
3. désactiver un évènement utilisateur
OFF_USER_EVENT n
désactiver la routine d'évènement déclarée pour l'évènement utilisateur n
3. retourner les données envoyées par le message
On définit que WPARAM de PostMessage envoie le handle d'un objet Windows
(un champ edit par exemple) dont le texte est à retourner:
texte_message$ = USER_EVENT_TEXT$(n)
4. envoyer un message pour déclencher en évènement utilisateur dans un autre
programme:
USER_MESSAGE n,handle(objet)
avec n=numéro de l'évènement utilisateur à déclencher,
et objet est le numéro d'un objet Panoramic (de type edit ou dlist), dont
le texte est à envoyer
De cette façon, on pourrait communiquer bien sûr entre programmes Panoramic,
mais on pourrait surtout communiquer entre un programme Panoramic et un
programme externe (en Delphi, mais pas nécessairement).