
Consideraciones
PowerCobol(PC) al estar configurado para trabajar orientado a eventos, no nos proporciona una vista global de nuestro programa, tal y como estábamos acostumbrados hasta el momento, cuando hacemos nuestros programas con un editor, por lo que muchas veces es fácil perderse o no reconocer donde está una variable. Yo suelo utilizar mucho el Find, para buscar por todo el proyecto cuando tengo algunas dudas.
De todas formas PC siempre crea una serie de archivos con distintas extensiones que son los que utiliza para la compilación. Los que llevan la extensión .prc son los que contienen el código de todos los eventos que hemos introducido y el .cob y .obj, son respectivamente el fuente y el objeto de nuestro programa.
Con el trabajo diario me he dado cuenta de determinadas acciones que nos pueden bloquear el equipo o al menos el PC. Algo "mortal" es no definir de igual forma las variables EXTERNAL que utilicemos para enlazar con otros programas, eso es tremendo para PC. Mucho cuidado también con la definición para la ruta de los ficheros, como no lo encuentre se vuelve un poco loco con los mensajes de error. Igualmente mucho cuidado con desactivar alguna ventana sin tener que hacerlo y dejar a PC sin ninguna ventana activa. Ya se que todo esto son cosas muy lógicas, pero a veces se nos escapan y nos pueden dar quebraderos de cabeza.
Tenemos que tener también en cuenta el modo de trabajo de PC y comprender que muchas veces le mandamos a un control el foco, pero es posible que ese control a su vez tenga otras órdenes al llegar a él que contradicen las anteriores y bueno, el atasco puede ser monumental. Por ejemplo podemos mandar el foco a un control cuyo evento GotFocus, sea volver al anterior, imaginaos el final.
Igualmente indicaros, que un evento siempre se ejecutará completo, para que se corte tenemos que introducir un EXIT PROGRAM. Muchas veces me han consultado por un error muy típico. Programamos el evento y en un momento dado si no cumple algo enviamos a un párrafo dentro del procedimiento, pero claro, al terminar no lo especificamos con el EXIT PROGRAM y por lo tanto siempre se ejecutará ese párrafo.
Aunque PC genera archivos .EXE que pueden contener incluso sus propios iconos e imágenes, éstos no son ejecutables puros, sino que necesitan del Runtime compuesto por una seria de librerias DLL que se encuentran en el directorio de instalación. Por lo tanto el Run-Time siempre tendréis que instalarlo en el Pc que vaya a ejecutar la aplicación, es gratuito y lo único que tenéis que tener en cuenta una vez instalado, es que ese directorio de instalación está incluido en el PATH del sistema. PC se encarga de ello, pero he visto casos en que no lo ha hecho y pensamos que no está instalado el RunTime, cuando lo que realmente le falta es la ruta para encontrar las librerias.
Para la distribución de nuestros programas, PC dispone de una opción en el menú llamada Make Installer que genera un setup.exe con el cual instalar la aplicación. Pero no es recomendable ya que todo lo externo a la aplicación no lo incluiría. Por eso yo siempre recomiendo que antes de empezar a trabajar tengamos definido nuestro "arbol de directorios" con una carpeta para los ejecutables, otra para las imágenes que hemos utilizado y otra donde irán los datos. Una vez terminada la aplicación, solo tendremos que copiar esas carpetas tal y como están y todo funcionará sin problemas.
Como sabéis en PC no tiene sentido utilizar las sentencias ACCEPT y DISPLAY, muchas veces al estilo de un debug "casero" podemos poner DISPLAY para que nos indique por donde va, cuando no somos capaces de salir de un error. Los DISPLAY se ejecutan en una ventana nueva y no molestan a nuestro programa.
Todo lo que he puesto aquí, está basado en mi experiencia con el uso de PC, seguramente habrá mas cosas, pero lo que pretendo es que no caigais en errores que por los que yo pasé cuando empecé. Los siguientes temas irán dirigidos a controles concretos con programas de ejemplo.
|
|