| 4D v18New signal | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 New signal 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| New signal {( description )} -> Résultat | ||||||||
| Paramètre | Type | Description | ||||||
| description | Texte |   | Description du signal | |||||
| Résultat | Objet |   | Objet natif qui encapsule le signal | |||||
La commande New signal crée un objet signal.
Un signal est un objet partagé qui peut être passé en paramètre par un worker ou un process à un autre worker ou process, afin que :
Dans le paramètre description, vous pouvez éventuellement passer un texte personnalisé pour décrire le signal. Ce texte peut aussi être défini après la création du signal.
L'objet signal étant partagé (voir Objets partagés et collections partagées), il peut également servir à gérer des propriétés utilisateur, y compris la propriété signal.description, à l'aide de la structure Utiliser...Fin utiliser.
Valeur retournée
L'objet retourné signal contient les propriétés et méthodes suivantes :
| Propriété | Type | Description | 
| signal.signaled | Booléen | (propriété en lecture seule) faux à la création du signal. Vrai lorsque la méthode signal.trigger( ) est appelée. | 
| signal.description | Texte | Description personnalisée du signal, le cas échéant. | 
| Méthode | Description | 
| signal.wait( ) | Attend le signal (process/worker appelant). | 
| signal.trigger( ) | Déclenche le signal (process/worker appelé). | 
Voici un exemple type d'un worker qui utilise un signal :
 C_OBJECT($signal)
 $signal:=New signal("Ceci est mon premier signal")
 CALL WORKER("myworker";"doSomething";$signal)
 $signaled:=$signal.wait(1) //Patienter 1 seconde maximum
 If($signaled)
    ALERT("myworker a terminé l'opération. Résultat: "+$signal.myresult)
 Else
    ALERT("myworker n'a pas terminé l'opération en moins d'1s")
 End ifLa méthode "doSomething" pourrait être :
 C_OBJECT($1)
  //traitement
  //...
 Use($1)
    $1.myresult:=$processingResult  //retourner le résultat
 End use
 $1.trigger() // L'opération est terminée
									signal.description
									
									signal.signaled
									
									signal.trigger( )
									
									signal.wait( )
									
	Produit :  4D
	Thème :  Process (Communications)
	Numéro :  
        1641
        
        
        
	
	Créé :  4D v17 R4
	
	
	
	4D - Langage ( 4D v18)
	
	
	
 Ajouter un commentaire
Ajouter un commentaire