ChainerMessage
Instruction
Rôle : |
Chaînage vers une autre méthode en interrompant la méthode en cours. |
Syntaxe : |
ChainerMessage [[[dll.] domaine.]objet.][[ instance]] message[[priorité]] [ ( paramètre1 [, paramètre2, ...] ) ] |
Notes : |
message est la méthode vers laquelle on veut chaîner. 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 correspondante 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[2].message |
La méthode est dans l'instance 2 d'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. numéro vaudra 0 pour la première, 1 pour la seconde et ainsi de suite. |
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éé.
|
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. |
Exemple :
Chaine
Meth1("Méthode") = "M1"
Chaine Obj1("Objet") = "O1"
Chaine Dom1("Domaine") = "D1"
Chaine Dll1("Librairie") = "L1"
ChainerMessage M1 |
Chaînage vers la méthode M1. |
ChainerMessage O1.M1 |
Chaînage vers la méthode M1 qui se trouve dans l'objet O1.. |
ChainerMessage D1.O1.M1 |
Chaînage vers la méthode M1 de l'objet O1 du domaine D1. |
ChainerMessage.L1.D1.O1.M1 |
Chaînage vers la méthode M1 de l'objet O1 du domaine D1 qui se trouve dans la DLL L1. |
ChainerMessage.L1.D1.O1[1].M1 |
Chaînage vers la méthode M1de la première instance de l'objet O1 du domaine D1 qui se trouve dans la DLL L1. |
ChainerMessage.L1.D1.O1[1].M1[10]
|
Chaînage vers 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 chaînée doit définir les variables formelles associées avec des déclarations PARAMETRES.
Les paramètres sont passés par valeur.
|
La méthode en cours est arrêtée définitivement. L'instruction ChainerMessage est équivalente à l'instruction EnvoyerMessage suivie de QuitterMethode. Elle est donc ASYNCHRONE. Chaîner sur une méthode ne peut se faire que si l'objet contenant cette méthode a été lancée au préalable. |
|
|
Exemple :
Domaine :
ESSAI "Chaînage d'une méthode"
Objet SAISIE : GC2
Declaration
ECRAN : RP
FinDeclaration
Methode CP
Si Lg(CP)<>5
Alors
BoiteMessage "Code
postal sur 5 caractères"
Saisir CP
FinSi
BoiteMessage "Je
passe par là."
FinMethode
MethodeVALIDATION
ChainerMessage CP
BoiteMessage "Je
passe par içi."
FinMethode
FinObjet
Après l'appel à la méthode VALIDATION :
Le message "Je passe par ici" n'apparaîtra pas.