4D v16.3GET PROCESS VARIABLE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
GET PROCESS VARIABLE
GET PROCESS VARIABLE
La commande GET PROCESS VARIABLE lit la valeur de la ou des variable(s) process varSource (varSource2, etc.) depuis le process source dont le numéro est passé dans process et la retourne dans la ou les variables(s) varDestination ( varDestination2, etc.) du process courant. Chaque variable source peut être une variable, un tableau ou un élément de tableau. Tenez cependant compte des restrictions évoquées plus bas. Pour chaque association varSource;varDestination les types des deux variables doivent être compatibles, sinon vous pourrez obtenir des valeurs non significatives. Le process courant "pille" les variables du process de destination : ce dernier n'est averti en aucune manière de la lecture de l'instance de ses variables par un autre process. 4D Server : A partir d'un 4D Client, vous pouvez lire 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 source, vous pouvez tout de même lire 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 GET PROCESS VARIABLE avec les variables interprocess du serveur. GET PROCESS VARIABLE n'accepte pas de variables locales comme variables sources. GET PROCESS VARIABLE accepte tout type de variable source, process ou interprocess, à l'exception des variables de type :
Le process source doit être un process utilisateur, ce ne peut être un des process du moteur de 4D. Si le process source n'existe pas, la commande ne fait rien. Note : En mode interprété, si une variable source n'existe pas, la valeur indéfinie est retournée. Vous pouvez le détecter en testant la variable de destination correspondante à l'aide de la fonction Type. En mode compilé, si aucune variable n'est associée au process source, 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 Type. La ligne de code suivante lit la valeur de la variable Texte vtCurStatus dans le process dont le numéro est $vlProcess et retourne le résultat dans la variable process vtInfo du process courant : GET PROCESS VARIABLE($vlProcess;vtCurStatus;vtInfo) La ligne de code suivante fait la même chose mais retourne la valeur dans la variable locale $vtInfo de la méthode s'exécutant dans le process courant : GET PROCESS VARIABLE($vlProcess;vtCurStatus;$vtInfo) La ligne de code suivante fait la même chose mais retourne la valeur dans la même variable vtCurStatus du process courant : GET PROCESS VARIABLE($vlProcess;vtCurStatus;vtCurStatus) Note : La première vtCurStatus désigne l'instance de la variable dans le process source, la seconde vtCurStatus désigne l'instance de la variable dans le process courant. L'exemple suivant lit séquentiellement les éléments d'un tableau process depuis le process indiqué 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 le process source et contient la taille du tableau at_IPCom_Array. L'exemple suivant fait la même chose que le précédent mais lit le tableau dans son intégralité au lieu de le faire élément par élément : GET PROCESS VARIABLE($vlProcess;at_IPCom_Array;$anArray) L'exemple suivant lit l'instance des variables v1,v2,v3 dans le process source et retourne leurs valeurs dans l'instance des mêmes variables du process courant : GET PROCESS VARIABLE($vlProcess;v1;v1;v2;v2;v3;v3) Reportez-vous à l'exemple de la commande DRAG AND DROP PROPERTIES.
Voir aussi
CALL PROCESS
|
PROPRIÉTÉS
Produit : 4D HISTORIQUE
Créé : 4D v6 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||