Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
Creer signal
|
Creer signal {( description )} -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
description | Texte |
![]() |
Description du signal | |||||
Résultat | Objet |
![]() |
Objet natif qui encapsule le signal | |||||
La commande Creer 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_OBJET($signal)
$signal:=Creer signal("Ceci est mon premier signal")
APPELER WORKER("myworker";"doSomething";$signal)
$signaled:=$signal.wait(1) //Patienter 1 seconde maximum
Si($signaled)
ALERTE("myworker a terminé l'opération. Résultat: "+$signal.myresult)
Sinon
ALERTE("myworker n'a pas terminé l'opération en moins d'1s")
Fin de si
La méthode "doSomething" pourrait être :
C_OBJET($1)
//traitement
//...
Utiliser($1)
$1.myresult:=$processingResult //retourner le résultat
Fin utiliser
$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
Nom intl. : New signal
Créé : 4D v17 R4
4D - Langage ( 4D v20)
4D - Langage ( 4D v20.1)
4D - Langage ( 4D v20.2)
4D - Langage ( 4D v20.3)
4D - Langage ( 4D v20.4)
4D - Langage ( 4D v20.5)
4D - Langage ( 4D v20.6)