ChainerObjet
Instruction
Rôle : |
Chaînage vers un autre objet en arrêtant l'objet en cours. |
Syntaxe : |
ChainerObjet [[dll.]domaine.] objet [ (paramètre 1 [, paramètre 2 .. ] ) ] |
Notes : |
objet est l'objet vers lequel on veut chaîner. C'est une expression alphanumérique qui peut être une variable qui sera interprétée ou directement le nom de l'objet.
L'objet peut être indiqué sous l'une de ces formes :
objet |
L'objet est dans le même domaine. |
domaine.objet |
L'objet n'est pas dans le même domaine. On doit alors préciser ce domaine.. |
dll.domaine.objet |
L'objet n'est pas dans la même DLL. On doit préciser DLL et domaine. |
Attention, il ne faut pas appeler un objet de façon asynchrone (CreerObjet, CreerUnique ou ChainerObjet) depuis un objet lancé en synchrone (AppelerObjet). Bien que cela soit possible, c’est une règle d’architecture à respecter.
Exemple :
Chaine Obj1("Objet") = "O1"
Chaine Dom1("Domaine") = "D1"
Chaine Dll1("Librairie") = "L1"
ChainerObjet O1 |
Appel de l'objet O1. |
ChainerObjet D1.O1 |
Appel de l'objet O1 qui se trouve dans le domaine D1.. |
ChainerObjet L1.D1.O1 |
Appel de l'objet O1du domaine D1 et de la DLL L1. |
Les paramètres sont facultatifs. S'ils sont indiqués, l'objet chaîné doit avoir une déclaration PARAMETRES définissant les variables formelles associées.<<!--[if supportFields]> Les paramètres sont passés par valeur.
L'objet en cours est arrêté définitivement. La fenêtre de l'objet initial est effacée.
L'instruction ChainerObjet est équivalente à l'instruction CreerObjet suivie de QuitterMethode. Elle est donc ASYNCHRONE. Les instructions qui suivent l'instruction ChainerObjet ne sont pas exécutées.
L'objet appelé hérite d'une partie du contexte de l'objet lanceur. • Les fichiers globaux utilisés sont hérités si les deux objets sont dans le même domaine. • Les variables globales sont communes si les deux objets sont dans le même DOMAINE. • Si l'objet appelant a rempli une table mémoire partagée, les données de cette table créées par l'appelant seront disponibles pour l'objet appelé même s'il n'y a pas d'autres utilisateurs pour cette table.
Exemple : Domaine : ESSAI "Chaînage d' objets" Après l'appel à la méthode COMMANDE 1 : Le message "Je passe par ici" n'apparaîtra pas.
|