Recompilar Lotus Notes agentes cuando Bibliotecas script de cambio.
Si se realizan cambios en una biblioteca de scripts en Lotus Notes, a veces es difícil saber cuando se tiene que volver a compilar todos los agentes Toma nota de que llame a la biblioteca de scripts y cuando no. Aquí hay algunas observaciones que he made.If cambiar la firma de una función, sub, o método de clase, tiene que volver a compilar para no tener un error cuando se utiliza.
Si el agente que Notes utiliza un valor constante de una biblioteca de secuencias de comandos y una constante en una biblioteca de scripts cambiado es la siguiente:
* Si el agente de Notas se ejecuta en modo de depuración, la constante se utiliza la nueva
* Si el agente de Notas se ejecuta manualmente o programada, la constante de edad se utiliza (incluso si sólo se corrió en modo de depuración y vio a la nueva variable)
* Si el agente de Notas se abre y se guarda con CTRL-S (sin cambios ha sido hecha al agente) y se cierra, la constante de edad todavía se utiliza
* Si el agente de Notas es abierto, modificado, y se guarda con CTRL-S, la nueva constante se utiliza
* Si el agente se vuelve a compilar notas utilizando el API, la constante se utiliza la nueva
Creo que la razón por qué las constantes de edad quedarse es porque cuando el LotusScript se compila el bytecode LotusScript contiene el valor traducido de la constante, no una referencia a la constante. Esta es una buena programación en cuanto a la optimización de código de bytes se refiere, pero es malo si se cambia la constante en la biblioteca de scripts, ya que el agente nunca mira hacia atrás en la biblioteca de scripts para comprobar el valor de la constante.
Porque no soy la única referencia a los bytes de la firma, la función y el contenido que quieren, incluyendo la suya propia, como el buceo y en la biblioteca de funciones y cambios en el código hasta ahora la belleza preocupación de buceo.
En otras palabras, cuando un agente quiere ejecutar una función o un sub de una biblioteca de scripts, siempre que se ejecuta desde la biblioteca de LotusScript. Así que si usted cambia el contenido de una función o sub en una biblioteca (y dejar la sola firma) y no volver a guardar su agente, su cambio en el código seguirá siendo reconocido.
Visto 5163 veces por 1421 espectadores













