EnvoyerMessage
Instruction
Rôle : |
Lancement d'une autre méthode en asynchrone sans interrompre l'action en cours. |
Syntaxe : |
EnvoyerMessage [[[dll.] domaine.]objet[[instance]].] message [[priorité]][ (paramètre1 [, paramètre2 ,... ] ) ] |
Notes : |
message est la méthode que l'on veut lancer. C'est une expression alphanumérique qui peut être une variable, ou directement le nom de la méthode.
Le message peut être indiqué sous l'une de ces formes :
message |
La méthode est dans le même objet. |
objet.message |
La méthode est dans un objet du même domaine. |
domaine.objet.message |
La méthode est dans un objet d'un autre domaine. On doit alors préciser ce domaine. |
dll.domaine.objet.message |
La méthode est dans un objet d'une autre DLL. On doit préciser DLL, domaine et objet. |
|
- Objet peut être suivi d'une indication [instance] pour spécifier l'instance de l'objet auquel on fait référence si on en a créé plusieurs. instance vaudra 0 pour la première, 1 pour la seconde et ainsi de suite.
- Message peut être suivi d'une indication [priorité] pour indiquer la priorité de l'envoi du message. Les priorités vont de -32000 (moins prioritaire) à +32000 (plus prioritaire). Valeur par défaut :0. |
|
Voir également la variable système Instance qui rend le numéro d'instance de l'objet courant ainsi que la variable système InstanceCreee qui rend le numéro d'instance du dernier objet créé. |
Exemple :
Chaine
Meth1("Méthode") = "M1"
Chaine Obj1("Objet") = "O1"
Chaine Dom1("Domaine") = "D1"
Chaine Dll1("Librairie") = "L1"
EnvoyerMessage M1 |
Lancement de la méthode M1. |
EnvoyerMessage O1.M1 |
Lancement de la méthode M1 qui se trouve dans l'objet O1.. |
EnvoyerMessage D1.O1.M1 |
Lancement de la méthode M1 de l'objet O1 du domaine D1. |
EnvoyerMessage.L1.D1.O1.M1 |
Lancement de la méthode M1 de l'objet O1 du domaine D1 qui se trouve dans la DLL L1. |
EnvoyerMessage.L1.D1.O1[1].M1 |
Lancement de la méthode M1 de la première instance de l'objet O1 du domaine D1 qui se trouve dans la DLL L1. |
EnvoyerMessage.L1.D1.O1[1].M1[10] |
Lancement de la méthode M1 de la première instance de l'objet O1 du domaine D1 qui se trouve dans la DLL L1, avec une priorité de 10. |
Les paramètres sont facultatifs. S'ils sont indiqués, la méthode doit débuter par une liste de déclarations PARAMETRES. . Les paramètres sont passés par valeur. La méthode en cours n'est pas arrêtée. La méthode lancée le sera en parallèle lorsque la main sera rendue au système (ce qui ne se produira pas avant la fin du déroulement de la méthode en cours).
Le lancement d'une méthode correspond à l'envoi d'un message d'un objet vers un autre. Il n'y a pas d'obligation à ce que l'objet destinataire soit effectivement créé puisqu'il n'y a pas d'accusé de réception du message.
|
AppliquerMethode, ChainerMessage, NettoyerMessage, Instance, InstanceCreee |
Exemple :
DOMAINE : ESSAI "Mise à jour d'un graphique"
Objet TRAITEMENT : "GRAPH"
Declaration
ECRAN : "REPGR" //Ecran contenant le graphique
FinDeclaration
Methode "MAJ"
Afficher //Méthode de réaffichage
FinMethode
FinObjet
Objet SAISIE : "GR"
Declaration
ECRAN : "REPR"
FinDeclaration
//En cas de validation d'une
modification ou création, réaffichage du graphique
Methode "VALIDATION"
EnvoyerMessage GRAPH. MAJ
FinMethode
FinObjet