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 R7
CALL WORKER
|
CALL WORKER ( process ; formule {; param}{; param2 ; ... ; paramN} ) | ||||||||
Paramètre | Type | Description | ||||||
process | Texte, Entier long |
![]() |
Nom ou numéro du process worker | |||||
formule | Objet, Texte |
![]() |
Objet Formula ou Nom de la méthode projet | |||||
param | Expression |
![]() |
Paramètre(s) passé(s) à la méthode | |||||
La commande CALL WORKER crée ou appelle le process worker dont vous avez passé le nom ou le numéro dans process et demande l’exécution du code désigné par la formule dans son contexte avec le ou les paramètre(s) optionnel(s) spécifié(s) dans param.
La commande CALL WORKER encapsule param dans un message qu'elle envoie dans la boîte aux lettres du worker. Pour plus d'informations sur les process workers, reportez-vous à la section A propos des workers.
Dans le paramètre process, vous passez soit le nom soit le numéro du process worker :
Note : Le process principal, créé par 4D pour l'interface utilisateur et le mode application à l'ouverture de la base, est un process worker et peut être appelé par CALL WORKER. Le nom de ce process pouvant varier en fonction de la langue de 4D, il est préférable de le désigner par son numéro (toujours 1) lorsque vous utilisez CALL WORKER.
Le process worker est affiché dans la liste des process de l'Explorateur d'exécution et est retourné par la commande _o_PROCESS PROPERTIES lorsqu'elle est appliquée à ce process.
Dans le paramètre formule, vous désignez le code 4D que vous souhaitez exécuter dans le contexte du process worker. Vous pouvez passer soit :
Vous pouvez aussi passer des paramètres à la formule en utilisant un ou plusieurs paramètres param. Vous pouvez utiliser des paramètres séquentiels ou, si l'expression de la formule est une fonction ou une méthode projet, des paramètres nommés. Lors de l'exécution dans le contexte du formulaire, la formule du process reçoit les valeurs du paramètre soit dans les paramètres nommés soit dans $1, $2, et ainsi de suite. N'oubliez pas que des tableaux ne peuvent pas être passés en paramètre Notez qu'un tableau ne peut pas être passé comme paramètre à une méthode. Par ailleurs, dans le contexte de la commande CALL WORKER, les considérations suivantes doivent être prises en compte :
Un process worker reste actif jusqu’à la fermeture de l'application ou jusqu'à ce que la commande KILL WORKER soit appelée explicitement pour ce process. Pensez à appeler cette commande une fois que le process worker n'est plus utile afin de libérer l'espace mémoire.
Dans un formulaire, un bouton démarre un calcul, par exemple des statistiques pour l'année sélectionnée. Ce bouton crée ou appelle un process worker qui effectue le calcul des données tandis que l'utilisateur peut continuer à travailler dans le formulaire.
Voici la méthode du bouton :
//appelle le process worker vNomWorker avec le paramètre
var $vAnn: éeInteger
$vAnnée:=2015 //peut être sélectionné par l’utilisateur dans le formulaire
CALL WORKER("monWorker";Formula(workerMethod);vAnnée;Current form window)
Voici le code de méthodeWorker :
//voici la méthode du worker
//peut être préemptif ou coopératif
#DECLARE($vAnnéeInteger;$fenetreInteger) //référence de l'année et de la fenêtre
var $vR: ésultatStatistiquesObject //stockage de résultats statistiques
... //calcul des statistiques
//une fois le calcul terminé, rappel du formulaire avec les valeurs calculées
//$vRésultatStatistiques peut afficher les résultats dans le formulaire
CALL FORM($fenetre;Formula(affichageStats);vRésultatStatistiques)
A propos des workers
CALL FORM
Current process name
KILL WORKER
Produit : 4D
Thème : Process (Communications)
Numéro :
1389
Créé : 4D v15 R5
Modifié : 4D v16 R4
Modifié : 4D v19 R6
4D - Langage ( 4D v20 R7)