COMPILE (Comando)

Compila uno o más archivos de origen y crea un archivo objeto para cada archivo de origen.

COMPILE [?] [CLASSLIB | LABEL | REPORT] FileName | FileSkeleton

– O bien –

COMPILE FileName | FileSkeleton | ? [ENCRYPT] [NODEBUG] [AS nCodePage]

Parámetros

  • CLASSLIB
    Especifica que el archivo que se va a compilar es una biblioteca de clases visuales (.vcx). El código fuente de la biblioteca de clases visuales está almacenado en campos memo en la tabla de bibliotecas de clases visuales. COMPILE CLASSLIB compila dichos campos memo en código de objeto que se almacena en un campo memo adicional.

  • LABEL
    Especifica que el archivo que se va a compilar es un archivo de definición de etiquetas (.lbx). El código fuente para el entorno de datos guardado con el archivo de definición de etiquetas se compila y almacena en un campo memo adicional.

  • REPORT
    Especifica que el archivo que se va a compilar es un archivo de definición de informes (.frx). El código fuente para el entorno de datos guardado con el archivo de definición de informes se compila y almacena en un campo memo adicional.

  • FileName | FileSkeleton
    Especifica que se compile un solo archivo FileName o un conjunto de archivos que coinciden con una estructura de archivo FileSkeleton que contiene caracteres comodín tales como * y ?. Por ejemplo, para compilar todos los archivos de programa del directorio actual que tengan la extensión .prg, ejecute COMPILE *.PRG.

  • ?
    Muestra el cuadro de diálogo Compilar, que permite elegir un archivo para compilarlo.

  • ENCRYPT
    Codifica sus programas compilados de Visual FoxPro. No se puede utilizar con las palabras clave CLASSLIB, LABEL y REPORT. Esto impide cualquier acceso a sus programas de origen. Para obtener protección adicional para el código fuente, incluya siempre esta opción al compilar programas destinados a su distribución.

  • NODEBUG
    Reduce el tamaño del archivo compilado en dos bytes por línea de archivo de origen. No se puede utilizar con las palabras clave CLASSLIB, LABEL y REPORT. Estos dos bytes del archivo compilado son una referencia a la línea correspondiente en el archivo de origen. La eliminación de estos dos bytes no afecta al rendimiento del programa, pero reduce el tamaño del archivo compilado y ahorra espacio en el disco.

    Cuando incluya la cláusula NODEBUG no podrá ver la ejecución del programa en la ventana Seguimiento ni usar MESSAGE(1) para devolver el código fuente para una línea que cause un error.

  • AS nCodePage
    Especifica la página de códigos para la cual se compila el programa. No se puede utilizar con las palabras clave CLASSLIB, LABEL y REPORT. La página de códigos de compilación que especifique con esta cláusula invalida la página de códigos de compilación global especificada mediante SET CPCOMPILE.

Observaciones

Visual FoxPro sólo ejecuta archivos objeto, por lo que si el archivo de origen no se ha compilado, se compila automáticamente al ejecutar el programa. El archivo de origen permanece sin cambios. Se crea un archivo compilado separado con el mismo nombre raíz que el archivo de origen, pero con una extensión diferente. En la tabla siguiente se muestran las extensiones de los archivos de origen y compilados para cada tipo de archivo:

Tipo de archivo Extensión de origen Extensión compilada
Archivo de programa PRG FXP
Código de formulario SPR SPX
Código de menú MPR MPX
Consulta QPR QPX
Formato FMT PRX

El compilador detecta cualquier error de sintaxis que exista en el archivo de origen. Los mensajes de error de compilación se guardan en un archivo de texto si SET LOGERRORS está establecido en ON en el momento de compilarse el archivo. El archivo de registro de errores tiene el mismo nombre raíz que el archivo compilado y la extensión .err. El archivo de registro de errores no se creará si SET LOGERRORS está establecido en OFF.

Vea también

#DEFINE ... #UNDEF (Directiva de preprocesador) | #IF ... #ENDIF (Directiva de preprocesador) | #IFDEF |#IF ... #ENDIF (Directiva del preprocesador) | #INCLUDE | BUILD PROJECT | COMPILE DATABASE (Comando) | COMPILE FORM (Comando) | BUILD APP | MODIFY COMMAND | MODIFY PROJECT | SET CPCOMPILE | SET LOGERRORS