29 de abril de 2005

Directivas no documentadas para la herramienta Beautify en Visual FoxPro 9.0

Visual FoxPro incluye una herramienta conocida como Presentación (Beautify) que está disponible en las ventanas de edición y nos permite especificar el uso de mayúsculas, minúsculas y el tipo de sangrias en códigos de programas con el fin de una mejor presentación y legibilidad.

Estas opciones se configuran en el cuadro de diálogo Opciones de Presentación (Beautify options) y se utilizan cada vez que usamos ésta herramienta en algún bloque de código.

A veces necesitamos que en ciertos bloques de código, ésta herramienta no utilice las opciones configuradas. Para ello Visual FoxPro 9.0 incluye dos nuevas directivas no documentadas (en la ayuda del producto) para Beautify (Presentación) que nos ayudarán a resolver este problema. Las directivas son las siguientes:

*#beautify keyword_nochange 
*#beautify

Como se observa, estas directivas tienen la forma de comentarios, ya que están precedidas por el caracter asterisco "*". Esto es una ventaja, ya que el código puede ser compilado en versiones anteriores a Visual FoxPro 9.0 sin ningún tipo de inconvenientes.

Un ejemplo de su utilidad es cuando una palabra reservada de VFP, es igual que el nombre de una función de la API de Windows, como por ejemplo ShowWindow, que debe ser llamada respetando el uso de mayúsculas y minúsculas (case sensitive) para que no nos retorne un error.

El siguiente código es un ejemplo de lo expuesto anteriormente:

*-- Bloque 1
*#beautify keyword_nochange
#DEFINE SW_MINIMIZE 6
DECLARE INTEGER ShowWindow IN WIN32API ;
  INTEGER nHWND, ;
  INTEGER nCmdShow
ShowWindow(_VFP.HWND, SW_MINIMIZE)
*#beautify
*--- Fin Bloque 1 
*
*--- Bloque 2
#DEFINE SW_MINIMIZE 6
DECLARE INTEGER ShowWindow IN WIN32API ;
  INTEGER nHWND, ;
  INTEGER nCmdShow
ShowWindow(_VFP.HWND, SW_MINIMIZE)
*--- Fin Bloque 2

Si ejecutamos la herramienta Beautify en el código anterior, y configuramos para que las palabras claves de VFP se escriban en MAYÚSCULAS, observaremos la diferencia de utilizar estas directivas.

Si luego ejecutamos el código, el Bloque 1 se ejecutara sin problemas, mientras en el Bloque 2 obtendremos el error "No se puede encontrar el punto de entrada SHOWWINDOW en la DLL".

Este artículo está basado en el artículo #894818 de la Base de Conocimientos de Microsoft:

-- Nuevas directivas para la herramienta Beautify disponibles en Visual FoxPro 9.0 --
http://support.microsoft.com/kb/894818

No hay comentarios. :

Publicar un comentario