Buscar..


Introducción

Compile el código de progreso como se llama "r-code" y normalmente se guarda en un archivo con la extensión .r. Hay un par de maneras diferentes de compilar: usando la declaración COMPILE o en Linux o AppBuilder: el compilador de aplicaciones integrado. Developer Studio (el entorno Eclipse) tiene compilación integrada en su proceso de compilación.

Debe tener 4GL Development o OpenEdge Studio instalado para compilar los programas 4GL que actualizan la base de datos.

Sintaxis

  • Programa compilar.p guardar. // Compila program.p y guarda su código r
  • VALOR COMPILAR (var) GUARDAR. // Compila el nombre guardado en la variable "var" y guarda su código r
  • COMPILE prog.p XREF prog.xref LISTING prog.list. // Compilar prog.p y crear referencias externas y archivos de lista. No guarde el código r.
  • Programa compile.p guarde sin errores. // Compile program.p, guarde r-code y suprima los errores para detener la ejecución.

Compilador de aplicaciones

Windows AppBuilder

En el Windows Appbuilder, el compilador de aplicaciones se encuentra en el menú Herramientas. Windows AppBuilder

Editor de procedimientos (Linux - pro o Windows pro.exe

En el Editor de procedimientos (tanto en Linux como en Windows), el compilador se encuentra en el menú Herramientas. Editor de editor de procedimientos de Linux

Compilador de aplicaciones

Compilador de aplicaciones de Windows Compilador de aplicaciones de Linux

Independientemente del sistema operativo, la funcionalidad del compilador es la misma. Puedes agregar directorios y / o archivos y compilarlos.

Ajustes principales (más abajo):

  • Guardar nuevo archivo .r. Si no se marca, los archivos simplemente se compilarán pero no se guardarán. Útil para el seguimiento de errores, por ejemplo.
  • Busque en subdirectorios. De lo contrario habrá que añadir subdirectorios.
  • Eliminar viejos archivos .r. Sobrescribir el archivo .r antiguo.
  • Onlu compila si no hay archivo .r. Solo compila archivos sin compilar.

Opciones:

  • Propath: le muestra la ruta de acceso y le permite seleccionar directorios para compilar desde ella.
  • Agregar: le permite ingresar un directorio o archivo.
  • Modificar: le permite modificar una entrada existente.
  • Eliminar: elimina una entrada.
  • Iniciar compilación: inicia el compilador. Atajo: F2

Las opciones del menú principal:

  • Archivo -> Salir: sale del compilador
  • Compilar -> Iniciar compilación: inicia el compilador. Atajo: F2
  • Herramientas -> Acceso a otras herramientas
  • Opción -> Compilador ...: Configuraciones, vea abajo.
  • Ayuda -> Ayuda de OpenEdge (solo Windows). Ayuda en linea. Atajo: F1

Ajustes

Ajustes

  • Especificación de archivo predeterminada: extensiones de nombre de archivo para compilar
  • Archivo de registro de mensajes: Archivo para guardar mensajes, advertencias y errores en
  • Guardar en: Dónde almacenar el archivo .r. Si está en blanco el mismo directorio que el código.
  • Idiomas: para traducciones. No se cubre aquí.
  • V6Frame: Viejo e inútil ...
  • Steam-IO: Si desea imprimir la salida del compilador. Probablemente no.
  • Archivo de listado: si desea que el compilador cree un archivo de listado. Útil para la depuración
  • Anexar: agregar al archivo de listado existente. De lo contrario sobrescribir.
  • Ancho de página + Longitud: Formato del archivo de listado.
  • Archivo de referencia externa: si desea que el compilador cree un XREF . Útil para depurar, verificar el uso del índice, etc.
  • Formato XML: si la referencia externa del compilador debe ser un xml. De lo contrario texto "sin formato".
  • Anexar: agregar al archivo existente de referencia externa. De lo contrario sobrescribir.
  • Archivo de depuración: Archivo de listado de depurador.
  • Clave de cifrado: si el archivo fuente está cifrado utilizando xcode inserte la clave aquí.
  • Minimizar el tamaño del código R: elimine cierta información de depuración para mantener pequeño el código r.
  • Generar MD-5: Mayormente para compilación de WebClient.

Uso básico

  1. Iniciar el compilador
  2. Agregar una ruta (si no está guardada desde la última sesión)
  3. Presione F2 para compilar.
  4. Observe cualquier error.
  5. Salida

Declaración COMPILE

La declaración de compilación le permite compilar programas en Progress ABL:

Uso básico:

COMPILE hello-world.p SAVE.

Con una variable:

DEFINE VARIABLE prog AS CHARACTER   NO-UNDO.

prog = "hello.p".

COMPILE VALUE(prog) SAVE.

Hay varias opciones para la COMPILE COMPILE:

SAVE indica que el código .r debe guardarse para uso futuro.

COMPILE hello-world.p SAVE.

SAVE INTO dir OR SAVE INTO VALUE(dir-variable) guarda el código r en el directorio especificado:

COMPILE hello-world.p SAVE INTO /usr/sources.

LISTING file . Crea un archivo de listado que contiene información de depuración de bloques, incluye, etc.

COMPILE program.p SAVE LISTING c:\temp\listing.txt.

El listado tiene un par de opciones para agregar archivos, tamaño de página y ancho de página:

APPEND PAGE-SIZE num PAGE-WIDTH num 

XREF xreffile guardará un archivo de referencia XREF xreffile compilador que contiene información sobre el uso de la cadena y el índice, etc. También puede APPEND este.

COMPILE checkFile.p SAVE XREF c:\directory\xref-file.txt.

XREF-XML xreffile-or-dir hará lo mismo que XREF pero guardará el archivo en un formato xml. Si usa un directorio, el archivo xref se llamará programname.xref.xml .

COMPILE file.p SAVE XREF c:\temp\.

NO-ERROR eliminará cualquier error al detener su programa.

COMPILE program SAVE NO-ERROR.

DEBUG-LIST file genera un archivo de depuración con números de línea.

COMPILE checkFile.p SAVE DEBUG-LIST c:\temp\debug.txt.

PREPROCESS file primero traducirá todos los preprocesadores y luego creará un nuevo archivo .p con el código antes de compilar.

 COMPILE checkFile.p SAVE PREPROCESS c:\temp\PREPROC.txt.

XCODE key compilará un código fuente encriptado con la key como clave. No puede utilizar XCODE con las opciones XREF, XREF-XML, STRING-XREF o LISTING juntas.

COMPILE program.p SAVE XCODE myKey.

Puedes combinar varias opciones:

COMPILE prog.p SAVE INTO /usr/r-code XREF /usr/xrefs/xref.txt APPEND LISTING /usr/listings.txt APPEND NO-ERROR.

Manija del sistema compilador

El controlador del sistema COMPILER permite ver información sobre una compilación reciente.

Asumiendo que ok-program.p es un programa sin ningún error o advertencia:

COMPILE ok-program.p SAVE NO-ERROR.

DEFINE VARIABLE iError AS INTEGER     NO-UNDO.

MESSAGE  
    "Errors: "   COMPILER:ERROR SKIP
    "Warnings: " COMPILER:WARNING SKIP
    "Messages: " COMPILER:NUM-MESSAGES
    VIEW-AS ALERT-BOX INFORMATION.

Esto procurará:

Sin errores

Compilando un programa con una advertencia:

/* program-with-warning.p */
DEFINE VARIABLE c AS CHARACTER   NO-UNDO.
DEFINE VARIABLE i AS INTEGER     NO-UNDO.

c = "hello".
DISPLAY c.
//This RETURN makes the program exit here and the code below unreachable.
RETURN.

IF TRUE THEN DO:
    i = 10. 
END.

Compilando el programa:

COMPILE program-with-warning.p SAVE.

DEFINE VARIABLE iError AS INTEGER     NO-UNDO.

MESSAGE  
    "Errors: "   COMPILER:ERROR SKIP
    "Warnings: " COMPILER:WARNING SKIP
    "Messages: " COMPILER:NUM-MESSAGES
    VIEW-AS ALERT-BOX INFORMATION.

DO iError = 1 TO COMPILER:NUM-MESSAGES:
    DISPLAY 
        COMPILER:GET-FILE-NAME(iError)    LABEL "Filename" FORMAT "x(20)"
        COMPILER:GET-MESSAGE(iError)      LABEL "Message"  FORMAT "x(50)"
        COMPILER:GET-NUMBER(iError)       LABEL "Msg#"  
        COMPILER:GET-ERROR-COLUMN(iError) LABEL "Column"
        COMPILER:GET-ERROR-ROW(iError)    LABEL "Row"
            WITH FRAME fr1 SIDE-LABELS 1 COLUMNS.
END.

Resultado:

introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí

Compilando un programa con un error.

DEFINE VARIABLE c AS CHARACTER   NO-UNDO.
DEFINE VARIABLE i AS INTEGER     NO-UNDO.

c = "hello".
DISPLAY c.
//Casting should be required below...
IF TRUE THEN DO:
    i = c.
END.

Compilando el programa:

//Use no-errors to supress any error messages from interrupting us.
COMPILE c:\temp\program-with-error.p SAVE NO-ERROR.

DEFINE VARIABLE iError AS INTEGER     NO-UNDO.

MESSAGE  
    "Errors: "   COMPILER:ERROR SKIP
    "Warnings: " COMPILER:WARNING SKIP
    "Messages: " COMPILER:NUM-MESSAGES
    VIEW-AS ALERT-BOX INFORMATION.

DO iError = 1 TO COMPILER:NUM-MESSAGES:
    DISPLAY 
        COMPILER:GET-FILE-NAME(iError)    LABEL "Filename" FORMAT "x(20)"
        COMPILER:GET-MESSAGE(iError)      LABEL "Message"  FORMAT "x(50)"
        COMPILER:GET-NUMBER(iError)       LABEL "Msg#"  
        COMPILER:GET-ERROR-COLUMN(iError) LABEL "Column"
        COMPILER:GET-ERROR-ROW(iError)    LABEL "Row"
            WITH FRAME fr1 SIDE-LABELS 1 COLUMNS 20 DOWN.

    DOWN WITH FRAME fr1.
END.

Resultado, casi siempre hay dos errores por error. "No se pudo entender" es seguido por el error real: introduzca la descripción de la imagen aquí

introduzca la descripción de la imagen aquí



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow