Hay nuevos eventos disponibles en los eventos de la base:
On after host database exit
On after host database startup
On before host database exit
On before host database startup
Estos eventos pueden pasar el control al componente que hemos creado incluso antes de que se ejecuten los métodos On Startup u On Exit de la base en donde se encuentra el componente.
Demos un vistazo rápido a la estructura. Tenemos nuestra base y la carpeta componentes donde se encuentra el componente. Vamos a cambiar el componente para añadir los cuatro eventos. En Métodos, Métodos base = > Método base On Host, copiaremos el código que aparece en la documentación, lo que significa que los 4 eventos son visibles aquí, y utilizan el método que hemos creado en el componente indicando sólo el evento que se está ejecutando.
Así que estos eventos pueden ser utilizados, por ejemplo, para inicializar variables, recuperar archivos, verificar la presencia de un indicador o de un archivo, antes de la apertura, después de la apertura, antes del cierre o después del cierre, o tal vez para actualizar los archivos, por ejemplo. Cerremos el componente nuevo.
Ahora a nivel de la base local, vamos a añadir un par de cosas en los métodos base:
• En el método On Startup, añadimos una alerta utilizando la alerta del componente para indicar que se está abriendo la base local
• Y en el método base On Exit, indicamos también que la base local se está cerrando.
Ahora bien, si salimos y lanzamos la primera base de datos de nuevo, podemos ver el evento "on startup", al salir el evento "on exit" cuando la cerramos, pero no hay rastro de estos eventos que indicamos en el componente. ¿Por qué no? Es una cuestión de seguridad. Si queremos ejecutar eventos de componentes, es obligatorio marcar la casilla que permite la ejecución del método evento On Event Host de los componentes, que se encuentra en la página Seguridad de las Propiedades de la base.
Así en realidad es la base local la que permite a los componentes ejecutar los métodos en cuestión. Tenemos que cerrar y abrir la base de nuevo para ver su funcionamiento. Así que ahora tenemos el evento "on before startup" del componente que se ejecuta, “on startup” de la base local, "on after host database startup" y luego, cuando salimos, "on before exit" del componente, aunque dice "host database" es el evento en cuestión por lo que en realidad es "on before exit" del componente, "on exit" de la base local, luego, "on after exit" del componente.