Compilar código fuente

En Visual FoxPro, puede compilar código fuente de Visual FoxPro en los archivos de tiempo de ejecución creados con vfp7r.dll o vfp7t.dll. En versiones anteriores de Visual FoxPro, era necesario utilizar una sustitución de macros o evaluación de expresiones en cada línea para poder ejecutar el código generado en tiempo de ejecución. Este proceso no siempre era óptimo debido a lo complejo que es ejecutar grandes bloques de código y a la disminución del rendimiento debida a la utilización del operador de macros & o la función EVALUATE( ).

Ahora, el comando COMPILE está habilitado en el tiempo de ejecución para que las aplicaciones puedan generar y compilar un archivo de programa (.prg). Puede utilizar la función STRTOFILE( ) para enviar el código a un archivo de programa. La compilación en tiempo de ejecución funciona con todos los archivos que admite el comando COMPILE, incluidos programas, formularios, clases, etiquetas, informes y bases de datos.

Existen pocas diferencias entre el compilador del producto de desarrollo y en tiempo de ejecución:

  • Se ha deshabilitado el modificador "?" del comando COMPILE para el tiempo de ejecución debido a que los servidores de automatización desatendidos (.dll) no permiten modos que implican la entrada de datos por el usuario.

  • El comando SET DEVELOPMENT no tiene ningún efecto en el tiempo de ejecución.

    Con el producto completo, SET DEVELOPMENT hace que Visual FoxPro compare la fecha y hora de creación de un programa con las del archivo objeto compilado al ejecutar el programa. Si el valor de SET DEVELOPMENT es ON, se ejecuta siempre la versión más reciente; los programas no actualizados se vuelven a compilar automáticamente. En el tiempo de ejecución, debe llamar explícitamente al comando COMPILE para volver a compilar el código fuente. Esto significa que, aunque llame al comando DO en el tiempo de ejecución, el archivo PRG no se volverá a compilar. Además, con el tiempo de ejecución, el comando DO pasa por alto la extensión de archivo y busca un archivo con la extensión .fxp, aunque haya especificado .prg.

Vea también

Enlace en tiempo de compilación (vtable) y en tiempo de ejecución (IDispatch) | Interoperabilidad e Internet | Escalabilidad y subprocesamiento múltiple | Bibliotecas de tiempo de ejecución de Visual FoxPro