Llevo unos días peleándome compilando un programa. Estoy rehaciendo el Aconsejador. Así que hace un par de meses empecé con un rediseño completo. Al final la aplicación se parece poco a la actual. Lo que si use fue la librería de clases que ya tenía creada para abrir ventanas, aplicar efectos… vamos para no inventar la rueda cada vez.
Mientras estaba trabajando con el programa, aparecieron un par de versiones nuevas del OpenLaszlo. Así que a instalarlas y mover la aplicación a la última versión del compilador. Tenía problemas de rendimiento en una parte del programa (tardaba mucho en cargarse) y un par de cosas no iban bien. Veo que no me pasa solo a mi, y anuncian una versión nueva que lo resolverá. Pues nada, a esperar. El lunes sale la nueva versión 4.8 y efectivamente, se solucionan los problemas. Todo va ahora mucho más rápido y ya no falla nada.
Nos ponemos en la tienda a probar la aplicación ya en el servidor en producción. Y de repente aparecen una serie de errores aleatorios. Todos afectan a las ventanas de ayuda. Hay veces que no se abren y otras que si se abren. Lo peor que nos puede pasar, un fallo intermitente.
Bajamos la instalación del servidor y la montamos en local, y también pasa lo mismo. Por lo menos el error no parece provocado por el hosting, sino que es algo de la aplicación. Así que la solución depende solo de nosotros.
Compilo con el debugger activado… y pasa lo de siempre. Que no falla nada. Pero ni en real ni subido al host. Si activamos el debugger todo funciona bien. Miramos las trazas del programa y al final después de dos días buscando, vemos que en ocasiones devuelve un error extraño. Repaso la clase que uso para este parte del programa y no veo ningún problema.
Y nada, cuando no sé que hacer recurro al último recurso: reescribir de cero la clase donde creo que está el error. Al volver a codificar la clase, veo un método que hice pensando en añadir en el futuro una nueva prestación a esta clase. Pero de momento no la estaba usando. Así que lo quite de la nueva clase. Y problema solucionado. Ahora el programa ya no falla.
Lo bueno es que el método no hace nada. Ni lo llamo, ni lo usó. Lo dejé para habilitar un sistema de mensajería entre esta clase y otras en el futuro. Pero en esta aplicació no he necesitado enviar este tipo de mensajes.
Menos mal que me tomo la programación como una forma de rebajar el estrés. Yo digo que es mi afición secreta. Igual que hay gente que hace sudokus o crucigramas para desconectar, yo programo. Me gusta programar, porque me permite eliminar muchas toxinas cerebrales. Me encanta el meterme dentro de un problema, tener a la cabeza dándole vueltas. Pero a veces alguno de estos problemillas te ponen de los nervios.