10 febrero 2009

Nueva temporada: Errores de programación.

He tenido abandonada la bitácora durante una buena temporada, básicamente, por exceso de trabajo. Y buena parte de la culpa de este exceso de trabajo la ha tenido un proyecto en C++ para móviles que ejecuten el sistema operativo Symbian, ideado por Nokia. Y, la verdad, ha sido una experiencia tan frustrante que me voy a desahogar en mi bitácora. Ahora me río, pero seguro que aquellos que programen de modo profesional, sabrán lo divertido que es pasarse horas y más horas intentando arreglar un error desconocido. Tengo tantas anécdotas que tengo cuerda para rato. Así que, sin más preámbulos, a por la primera.

Las aplicaciones en Symbian usan bastante los archivos de recursos, con extensión rss. Son interesantes, ya que encapsulan el aspecto estético de los controles de las interfases de usuario (Ui para los amigos). Pero luego están los compiladores... En mi caso, la extensión Carbide para Visual Studio .NET 2005.

Resulta que incorporo una serie de datos en un archivo de recursos. El compilador los lee y compila, y genera otro archivo de extensión rsg, en el que se listan los recursos que hayas definido y los códigos numéricos que los identifican. Todo recurso que no esté en el rsg que se incorpora en tiempo de compilación da lugar a errores de "Undefined identifier". Aunque claro, esto es la teoría.

En la práctica, el compilador, siguiendo unas pautas que él sabrá, no te genera un rsg, sino tres o cuatro, que te reparte en diversas carpetas de tu código fuente y de los SDK, y en función de determinadas configuraciones, te escoge uno de ellos. Pues bien. Incorporé ese recurso, como os había dicho, me sale el error ese de identificador desconocido. Veo el rsg que estaba en el sitio esperable y me encuentro con que la lista de recursos es correcta... o sea que eso estaba bien. Corto y pego el rsg que estaba en el sitio esperable, a ver si lo ha creado mal y nada. Limpio el proyecto... nada. No había explicación y creí que era que estaba mal construido el recurso...

Después de demasiado tiempo, se me ocurre plantearme si no será que la opción de limpiar no funciona. Hago una búsqueda del rsg y me salen cuatro. Revisando uno a uno me encuentro que uno de los cuatro no tiene el nuevo recurso, ¡¡¡¡y era el único de los cuatro que el compilador miraba!!!! Me limité a borrarlo y arreglado.

Y en la próxima entrada de la serie, más.

1 comentario:

Arwen Anne dijo...

desde luego errores son, espero que de aquí en adelante todo sea mejor, y tranquilo, que como ves, aquí estaba yo esperandote y seguro que tus seguidores, vuelven a troper

un beso