CreerUnique

Instruction

Rôle :

Lancement d'un autre objet en parallèle et en asynchrone sans interrompre l'action en cours uniquement dans le cas où il n'a pas déjà été lancé.

Syntaxe :

CreerUnique [[dll.] domaine.] objet [ (paramètre1 [, paramètre2, ... ] ) ]

Notes :

objet est l'objet que l'on veut créer. 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 la même source.

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"   

 

 

CreerUnique O1   
Creer Unique
Obj1 

Création de l'objet O1.

CreerUnique D1.O1           
CreerUnique
Dom1.Obj1  

Création de l'objet O1 dans le domaine D1.

CreerUnique L1.D1.O1      
CreerObjet
Dll1.Dom1.Obj1                                

Création de l'objet O1 dans le domaine D1 et la DLL L1.

 

Les paramètres sont facultatifs. S'ils sont indiqués, un objet créé doit avoir une déclaration PARAMETRES définissant les variables formelles associées. Les paramètres sont passés par valeur.

L'objet en cours n'est pas arrêté. L'objet créé 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).

L'instruction CreerObjet, à la différence de l'instruction CreerUnique, créé systématiquement l'objet, même s'il a déjà été créé au préalable. L'instruction CreerUnique "réactive" l'objet s'il est déjà lancé.

 

 

La fenêtre de l'objet initial n'est pas supprimée. Si l'objet créé possède une fenêtre celle-ci sera automatiquement activée.

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.

 

AppelerObjet, CreerObjet

 

Exemple :

Domaine : ESSAI
Objet SAISIE : "Lancement d'objets"
          
Declaration
                   
ECRAN : ECR1
          
FinDeclaration

          
Methode DEBUT
                   
Commande 1,"Lancement gestion représentants"
          
FinMethode

          
Methode COMMANDE 1
                   
CreerUnique GR
          
FinMethode
FinObjet
Objet SAISIE : GR
          
Declaration
                   
ECRAN : REPR
          
FinDeclaration
FinObjet