4D v16.3

VARIABLE VERS VARIABLE

Accueil

 
4D v16.3
VARIABLE VERS VARIABLE

VARIABLE VERS VARIABLE 


 

VARIABLE VERS VARIABLE ( process ; varDestination ; varSource {; varDestination2 ; varSource2 ; ... ; varDestinationN ; varSourceN} ) 
Paramètre Type   Description
process  Entier long in Numéro du process de destination
varDestination  Variable in Variable de destination
varSource  Variable in Variable source

La commande VARIABLE VERS VARIABLE écrit la valeur de la ou des variable(s) varSource1 (varSource2, etc.), dans la ou les variable(s) process varDestination (varDestination2, etc.) du process de destination dont vous avez passé le numéro dans process.

VARIABLE VERS VARIABLE a un fonctionnement semblable à celui de la commande ECRIRE VARIABLE PROCESS, avec cependant les différences suivantes :

  • Alors que vous passez comme source à ECRIRE VARIABLE PROCESSdes expressions (et donc vous ne pouvez pas passer un tableau en totalité), vous devez passer comme source à VARIABLE VERS VARIABLE uniquement des variables (et donc vous pouvez passer un tableau en totalité).
  • Avec ECRIRE VARIABLE PROCESS, chaque variable de destination peut être une variable ou un élément de tableau, mais ne peut pas être un tableau. Avec VARIABLE VERS VARIABLE, chaque variable de destination peut être une variable, un tableau ou un élément de tableau.

4D Server : La communication process “intermachine” permise par les commandes VARIABLE VERS VARIABLE, ECRIRE VARIABLE PROCESS et LIRE VARIABLE PROCESS n’est possible que du client vers le serveur. C’est toujours un process client qui lit ou écrit les variables d’une procédure stockée.

Pour chaque association varDestination;varSource, le type de la variable source doit être compatible avec la variable de destination, sinon vous pourrez obtenir des variables avec des valeurs non significatives. En mode interprété, si la variable de destination n'existe pas, elle est créée puis le type et la valeur de la variable source lui sont affectés.

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.

VARIABLE VERS VARIABLE n'accepte pas de variables locales comme variables de destination.

VARIABLE VERS VARIABLE accepte tout type de variable process ou interprocess de destination, à l'exception de variables de type :

  • Pointeur
  • Tableau de pointeurs
  • Tableau à deux dimensions

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, 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 APPELER SUR ERREUR.

Exemple  

L'exemple suivant récupère un tableau process depuis le process désigné par $vlProcess, passe séquentiellement tous ses éléments en caractères majuscules puis réécrit entièrement le tableau :

 LIRE VARIABLE PROCESS($vlProcess;at_IPCom_Tab;$anTab)
 Boucle($vlElem;1;Taille tableau($anTab))
    $anTab{$vlElem}:=Majusc($anTab{$vlElem})
 Fin de boucle
 VARIABLE VERS VARIABLE($vlProcess;at_IPCom_Tab;$anTab)



Voir aussi  

ECRIRE VARIABLE PROCESS
Introduction aux process
LIRE VARIABLE PROCESS

 
PROPRIÉTÉS 

Produit : 4D
Thème : Process (Communications)
Numéro : 635
Nom intl. : VARIABLE TO VARIABLE

Comportement différent en mode distant

 
HISTORIQUE 

Créé : 4D v6

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)