Home > LotusScript > Ricompilare Lotus Notes agenti Quando librerie di script Cambia.

Ricompilare Lotus Notes agenti Quando librerie di script Cambia.

Se si apportano modifiche a una libreria di script in Lotus Notes, a volte è difficile sapere quando si deve ricompilare tutti gli agenti rileva che chiamare la libreria di script e quando no. Ecco alcune osservazioni che ho made.If si modifica la firma di una funzione, sub, o metodo di classe, è necessario ricompilare per non avere errore quando l'uso.

Se l'agente Notes usa un valore costante da una libreria di script e una costante in una libreria di script è cambiato:

* Se l'agente Notes è eseguito in modalità di debug, la nuova costante è usato
* Se l'agente Notes è eseguito manualmente o in programma, la costante vecchio viene utilizzato (anche se appena eseguito in modalità debug e ho visto la nuova variabile)
* Se l'agente Notes è aperto, salvato con CTRL-S (che non siano state modifiche per l'agente), e chiuso, la costante vecchio è ancora in uso
* Se l'agente Notes è aperto, modificato e salvato con CTRL-S, la nuova costante è usato
* Se l'agente Notes è ricompilato utilizza l'API, la nuova costante è utilizzata

Penso che il motivo per cui le costanti vecchio bastone in giro è perché quando il LotusScript viene compilato, il bytecode LotusScript contiene il valore della costante tradotto, non un riferimento alla costante. Questa è buona programmazione per quanto riguarda l'ottimizzazione del bytecode, ma male se si modifica il costante nella libreria di script, perché mai l'agente ripercorre la libreria di script per controllare il valore della costante.

Perché non sono l'unico riferimento per i byte della firma, della funzione e dei contenuti che vogliono, compreso il vostro, come le immersioni e nella libreria di funzioni e modifiche al codice finora bellezza preoccupazione immersioni.
In altre parole, ogni volta che un agente vuole eseguire una funzione o una sub da una libreria di script, che gira sempre dalla libreria LotusScript. Quindi, se si modifica il contenuto di una funzione o sub in una libreria (e lasciare la firma da solo) e non ri-salvare il vostro agente, le modifiche del codice sarà ancora riconosciuto.

Visto 5161 volte da 1421 spettatori

  1. Nessun commento ancora.
  1. Nessun trackback ancora.