4D v16.3SET PROCESS VARIABLE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
SET PROCESS VARIABLE
SET PROCESS VARIABLE
La commande SET PROCESS VARIABLE écrit la ou les valeur(s) de exprSource (exprSource2, etc.) dans la ou les variable(s) process varDestination (varDestination2, etc.) du process de destination dont le numéro est passé dans process. Chaque variable de destination peut être une variable ou un élément de tableau. Tenez cependant compte des restrictions évoquées ci-dessous. Pour chaque association varDestination;exprSource, le type de l'expression doit être compatible avec la variable de destination, sinon vous pourrez obtenir des variables avec des valeurs incorrectes. En mode interprété, si la variable de destination n'existe pas, elle est créée et reçoit l'expression. En mode compilé, si aucune variable n'est associée au process de destination, une erreur est retournée. Vous pouvez intercepter cette erreur à l'aide d'une méthode de gestion d'erreurs installée par la commande ON ERR CALL. Lorsque le process courant écrit les variables du process de destination, ce dernier n'est averti en aucune manière de l'écriture de l'instance de ses variables par un autre process. 4D Server : A partir d'un 4D Client, vous pouvez écrire des variables dans un process de destination exécuté sur le poste serveur (procédure stockée). Pour cela, passez dans process le numéro du process serveur en négatif, c'est-à-dire précédé du signe - (moins). Astuce : Si vous ne connaissez pas le numéro du process serveur de destination, vous pouvez tout de même écrire dans les variables interprocess du serveur. Pour cela, il vous suffit de passer toute valeur négative dans process. En d'autres termes, il n'est pas nécessaire de connaître précisément le numéro d'un process exécuté sur le serveur pour utiliser SET PROCESS VARIABLE avec des variables interprocess du serveur. SET PROCESS VARIABLE n'accepte pas de variables locales comme variables de destination. SET PROCESS VARIABLE accepte tout type de variable process ou interprocess de destination, à l'exception :
Le process de destination doit être un process utilisateur, ce ne peut être un des process du moteur de 4D. Si le process de destination n'existe pas, la commande ne fait rien. La ligne de code suivante affecte une chaîne vide à la variable Texte vtCurStatus du process dont le numéro est $vlProcess : SET PROCESS VARIABLE($vlProcess;vtCurStatus;"") La ligne de code suivante affecte la variable Texte vtCurStatus du process dont le numéro est $vlProcess à la valeur de la variable $vtInfo depuis la méthode en cours d'exécution du process courant : SET PROCESS VARIABLE($vlProcess;vtCurStatus;$vtInfo) La ligne de code suivante affecte la variable Texte vtCurStatus du process dont le numéro est $vlProcess à la valeur de la même variable dans le process courant : SET PROCESS VARIABLE($vlProcess;vtCurStatus;vtCurStatus) Note : La première vtCurStatus désigne l'instance de la variable dans le process de destination, la seconde vtCurStatus désigne l'instance de la variable dans le process courant. L'exemple suivant place séquentiellement en majuscules les éléments d'un tableau process depuis le process désigné par $vlProcess: GET PROCESS VARIABLE($vlProcess;vl_IPCom_Array;$vlSize) Note : Dans cet exemple, la variable process vl_IPCom_Array doit être gérée par les process source/destination et contient la taille du tableau at_IPCom_Array. L'exemple suivant écrit l'instance des variables v1, v2, v3 dans le process de destination à partir de l'instance de ces mêmes variables dans le process courant : SET PROCESS VARIABLE($vlProcess;v1;v1;v2;v2;v3;v3)
Voir aussi
CALL PROCESS
|
PROPRIÉTÉS
Produit : 4D HISTORIQUE
Créé : 4D v6 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||