Fonction IOSetRemoteReferences()
- Last UpdatedJun 01, 2022
- 3 minute read
Vous pouvez utiliser la fonction de script IOSetRemoteReferences() pour rediriger les références d'objets du Application Server ou les références distantes vers les variables pendant l'exécution d'une application InTouch. IOSetRemoteReferences() retrouve toutes les références distantes qui coïncident avec la chaîne recherchée, et modifie ces références en fonction des arguments fournis. Vous pouvez créer un script qui déclenche la fonction de redirection des références en fonction des conditions remplies ou d'une action de l'utilisateur.
Catégorie
Autres
Syntaxe
IOSetRemoteReferences(AccèsOrigine, NouvelAccès, ChaîneChercher, ChaîneRemplacer, Mode)
Arguments
AccèsOrigine
Ce paramètre chaîne spécifie le nom d'accès configuré d'origine, à rechercher dans les références.
NouvelAccès
Le nouveau nom d'accès. Le nouveau nom d'accès s'applique à toutes les références dans lesquelles le nom d'accès d'origine doit coïncider avec la chaîne AccèsOrigine et le nom de l'élément d'origine doit coïncider avec ChaîneChercher, selon l'argument spécifié.
ChaîneChercher
La chaîne à rechercher dans le nom original de l'élément des références. Si ChaîneChercher est une chaîne vide, elle coïncide avec tout nom d'élément.
ChaîneRemplacer
La chaîne de remplacement du nom d'élément d'origine. La chaîne remplace la valeur de ChaîneChercher pour créer le nouveau nom d'élément utilisé par les références. En cas de chaîne vide, aucune substitution n'est faite.
Mode
Détermine la méthode de comparaison utilisée entre l'élément configuré à l'origine et la valeur de ChaîneChercher. La coïncidence se fait toujours à partir du début du nom d'élément. Si Mode a la valeur 0, la coïncidence doit se faire sur le nom complet de l'élément ou jusqu'à un caractère suivi d'un point (.). Si Mode a la valeur 1, une coïncidence partielle est acceptée, même si le caractère suivant n'est pas un point.
Remarques
IOSetRemoteReferences() ne vérifie pas la validité de la nouvelle variable ou du nom d'accès avant de modifier les références aux objets.
-
IOSetRemoteReferences() ne modifie que les références distantes. La fonction redirige les références dans lesquelles le nom d'accès d'origine coïncide avec l'argument AccèsOrigine, et le nom de l'élément d'origine coïncide avec l'argument ChaîneChercher.
-
Un seul appel à IOSetRemoteReferences() affecte toutes les références distantes dans les fenêtres en mémoire, dans lesquelles les noms configurés d'origine coïncident avec les arguments AccèsOrigine et ChaîneChercher.
-
Si vous ne renseignez pas l'argument AccèsOrigine, IOSetRemoteReferences() ne redirige aucune référence distante.
-
Si l'argument ChaîneChercher est vide, IOSetRemoteReferences() s'applique à toutes les références distantes pour lesquelles le nom d'accès d'origine coïncide avec AccèsOrigine.
-
Quand l'argument Mode est renseigné à 0, le remplacement dans le nom d'élément n'est fait que pour des noms complets d'objets (ou de variables), ou pour des noms complets d'attributs (ou de .champs). La valeur de l'argument ChaîneChercher doit coïncider avec le nom complet de l'élément d'origine ou jusqu'au caractère précédant un point.
-
Quand l'argument Mode est renseigné à 1, un remplacement partiel de la chaîne de l'élément est accepté lorsque la coïncidence se fait à partir du début de la chaîne cible. En d'autres termes, la ChaîneChercher doit correspondre à une partie de la chaîne de l'élément original, mais cette sous-portion doit commencer au début de la chaîne de l'élément. Il n'est pas nécessaire que le dernier caractère de la coïncidence soit suivi par un point.
-
Les noms d'origine d'une référence distante restent inchangés. Les appels postérieurs à IOSetRemoteReferences() n'ont pas besoin de reconnaître le nom actuel actif. Les appels à IOSetRemoteReferences() peuvent prendre place dans n'importe quel ordre.
-
Si vous souhaitez que deux ou plusieurs fenêtres fassent référence à une référence distante, cette dernière se comportera comme une variable d'E/S. En cas de redirection, toutes les fenêtres verront la même chose. N'utilisez pas un même nom pour faire référence en même temps à deux cibles séparées.
Remarque : La modification de nombreuses références simultanément, par exemple dans un script de fenêtre A l'ouverture, peut prendre un certain temps avant que toutes les références ne soient résolues.
Exemples
L'exemple suivant redirige toutes les références distantes au nom d'élément « pompe001 » du nom d'accès Galaxy si le nom de l'élément d'origine coïncide exactement avec « pompeX ».
IOSetRemoteReferences("Galaxy","","pompeX", "pompe001",0);
L'exemple suivant retrouve et modifie le nom d'accès Galaxy en ServeurVar1 si le nom d'élément coïncide exactement avec « pompeX ». En outre, le nom de l'élément est changé à « p2 ».
IOSetRemoteReferences("Galaxy","ServeurVar1", "pompeX","p2",0);
L'exemple suivant change le nom d'accès ServeurVar1 en ServeurVar2 quand le nom d'élément est pompeX. Le nom de l'élément est alors changé à « pompeSauve3 ».
IOSetRemoteReferences("ServeurVar1","ServeurVar2", "pompeX","pompeSauve3",0)
L'exemple suivant change à « Plant » le nom d'élément Tank dans le nom d'accès ServeurVar1.
IOSetRemoteReferences("ServeurVar1","","Tank","Plant",1)
L'exemple suivant ne redirige aucune référence distante parce que l'argument AccèsOrigine n'a pas été renseigné.
IOSetRemoteReferences("","Galaxy","pompeX", "pompe001",0);