Cuando comenzamos un nuevo proyecto con Xailer, lo habitual es crear el proyecto y crear el formulario principal de la aplicación. Esto nos crea dos módulos fuente: uno con el mismo nombre del proyecto y otro con el nombre con que hayamos grabado el formulario.
El primero, el que tiene el mismo nombre del proyecto, es el que contiene la función Main(), y es el código de arranque de nuestro programa. Suele tener este aspecto:
/*
* Proyecto: Ejemplo1
* Fichero: Ejemplo1.prg
* Descripción: Módulo de entrada a la aplicación
* Autor:
* Fecha: 13/10/2005
*/
#include "Xailer.ch"
//-------------------------------------------------------
Procedure Main()
Application:cTitle :="Ejemplo1"
Application:oIcon :="Icono1"
TForm1():New( Application ):Show()
Application:Run()
Return
//-------------------------------------------------------
Como podemos ver, el código de esta función consiste en asignar algunas propiedades del objeto Application, crear y mostrar el formulario principal y por último llamar a
Application:Run(), que ejecuta el bucle de mensajes del programa.
Este código lo mantiene directamente el IDE, añadiendo, quitando o cambiando líneas en función de lo que pongamos en la configuración del proyecto. Pero claro, puede ocurrir que en algunas ocasiones no nos interese que se cree y muestre un formulario, sino que querremos escribir nosotros el código que se ha de ejecutar al comienzo
del programa. Y si modificamos directamente esta función, el IDE va a volver a cambiarla, deshaciendo nuestro trabajo.
Y entonces, ¿qué podemos hacer? Pues algo tan sencillo como escribir otra función debajo de Main(), con el código que nosotros queramos. Y cambiar el módulo principal en las propiedades del proyecto, estableciendo que es éste mismo, y no algún formulario (en este ejemplo habría que indicar que el módulo principal es Ejemplo1.prg, y no Form1.prg). A partir de ese momento, Xailer cambiará la línea que crea y muestra el formulario por una simple llamada a nuestra función, con lo que quedaría así:
/*
* Proyecto: Ejemplo1
* Fichero: Ejemplo1.prg
* Descripción: Módulo de entrada a la aplicación
* Autor:
* Fecha: 13/10/2005
*/
#include "Xailer.ch"
//-------------------------------------------------------
Procedure Main()
Application:cTitle :="Ejemplo1"
Application:oIcon :="Icono1"
Empezar()
Application:Run()
Return
//-------------------------------------------------------
Procedure Empezar()
Return
//-------------------------------------------------------
Lógicamente, en esta función podemos poner el código que queramos, incluyendo p.ej. que se muestre una ventana «splash» de entrada al programa, cargar la configuración, pedir un usuario y contraseña, etc.. Y por último mostrar el formulario principal si lo hay.
En el próximo artículo veremos cómo se puede hacer todo esto, y pondremos un ejemplo sencillo.