Accueil > LotusScript > Recompilez Lotus Notes Agences Lorsque les bibliothèques de scripts de modification.

Recompiler Lotus Notes Agences Lorsque les bibliothèques de scripts de modification.

Si vous apportez des modifications à une bibliothèque de scripts dans Lotus Notes, il est parfois difficile de savoir quand vous devez recompiler tous les agents appellent note que la bibliothèque de scripts et quand vous n'avez pas. Voici quelques observations que j'ai made.If vous changer la signature d'une fonction, sous, ou méthode de classe, vous devez recompiler pour ne pas avoir d'erreur lors de l'utilisation.

Si l'agent Notes utilise une valeur constante à partir d'une bibliothèque de script et une constante dans une bibliothèque de script est changé:

* Si l'agent notes est exécuté en mode débogage, la nouvelle constante est utilisée
* Si l'agent Notes est exécuté manuellement ou programmée, la constante ancienne est utilisée (même si vous venez a couru qu'il en mode débogage et j'ai vu la nouvelle variable)
* Si l'agent Notes est ouvert, enregistré avec CTRL-S (sans aucune modification ayant été faite à l'agent), et fermé, la constante ancienne est toujours utilisée
* Si l'agent Notes est ouvert, modifié et sauvegardé avec CTRL-S, la nouvelle constante est utilisée
* Si l'agent Notes est recompilé à l'aide de l'API, la nouvelle constante est utilisée

Je pense que la raison pour laquelle les constantes anciennes coller autour parce que lorsque l'LotusScript est compilé, le bytecode LotusScript contient la valeur de la constante de traduire, non pas une référence à la constante. C'est une bonne programmation aussi loin que l'optimisation du bytecode est concerné, mais mauvais si vous changez la constante dans la bibliothèque de scripts, parce que l'agent ne regarde jamais en arrière à la bibliothèque de scripts pour vérifier la valeur de la constante.

Parce que je ne suis pas la seule référence à l'octets de la signature, la fonction et le contenu qu'ils veulent, y compris la vôtre, comme la plongée et à la bibliothèque de fonctions et de modifications du code de beauté concernent jusqu'ici plongée.
En d'autres termes, chaque fois qu'un agent veut exécuter une fonction ou une sous d'une bibliothèque de scripts, il fonctionne toujours de la bibliothèque de LotusScript. Donc, si vous modifiez le contenu d'une fonction ou dans une bibliothèque de sous (et laisser la seule signature) et ne ré-enregistrer votre agent, votre modification du code sera toujours reconnu.

Vu 5184 fois par 1428 spectateurs

  1. Pas encore de commentaires.
  1. Pas encore de trackbacks.