Recherche…


Introduction

Compiler le code de progression appelé "code-r" et est normalement enregistré dans un fichier avec l'extension .r. Il existe différentes méthodes de compilation: à l'aide de l'instruction COMPILE ou sous Linux ou AppBuilder: le compilateur d'application intégré. Developer Studio (l’environnement Eclipse) a été compilé dans son processus de construction.

Vous devez avoir 4GL Development ou OpenEdge Studio installé pour compiler les programmes 4GL qui mettent à jour la base de données.

Syntaxe

  • COMPILE program.p SAVE. // Compile program.p et sauvegarde son code r
  • Valeur de compilation (var) SAVE. // Compile le nom enregistré dans la variable "var" et enregistre son code-r
  • COMPILE prog.p XREF prog.xref LISTING prog.list. // Compile prog.p et crée des fichiers xref et listing-files. Ne sauvegardez pas le r-code.
  • COMPILE program.p SAVE NO-ERROR. // Compilez program.p, enregistrez le code r et supprimez les erreurs pour arrêter l'exécution.

Compilateur d'application

Windows AppBuilder

Dans Windows Appbuilder, le compilateur d'application se trouve dans le menu Outils. Windows AppBuilder

Éditeur de procédure (Linux - pro ou Windows pro.exe

Dans l'éditeur de procédures (Linux et Windows), le compilateur se trouve dans le menu Outils. Éditeur de procédures Linux

Compilateur d'application

Windows Application Compiler Compilateur d'applications Linux

Indépendamment du système d'exploitation, les fonctionnalités du compilateur sont les mêmes. Vous pouvez ajouter des répertoires et / ou des fichiers et les compiler.

Paramètres principaux (plus ci-dessous):

  • Enregistrez le nouveau fichier .r. Si ce n'est pas coché, les fichiers seront simplement compilés mais pas enregistrés. Utile pour le suivi des erreurs, par exemple.
  • Regardez dans les sous-répertoires. Sinon, les sous-répertoires devront être ajoutés.
  • Supprimez les anciens fichiers .r. Ecraser l'ancien fichier .r
  • Onlu Compiler si No .r File. Ne compile que les fichiers non compilés.

Options:

  • Propath - vous montre le propath et vous permet de sélectionner les répertoires à compiler.
  • Ajouter - vous permet d'entrer un répertoire ou un fichier.
  • Modifier - permet de modifier une entrée existante.
  • Supprimer - Supprime une entrée.
  • Démarrer la compilation - Démarre le compilateur. Raccourci: F2

Les choix de menu principaux:

  • Fichier -> Quitter: quitte le compilateur
  • Compiler -> Start Compile: lance le compilateur. Raccourci: F2
  • Outils -> Accès à d'autres outils
  • Option -> Compilateur ...: Paramètres, voir ci-dessous.
  • Aide -> Aide OpenEdge (Windows uniquement). Aide en ligne. Raccourci: F1

Paramètres

Paramètres

  • Spécification de fichier par défaut: extensions de nom de fichier à compiler
  • Message Log File: Fichier pour enregistrer les messages, les avertissements et les erreurs dans
  • Enregistrer dans: Où stocker le fichier .r. Si vide le même répertoire que le code.
  • Langues: pour les traductions. Non couvert ici.
  • V6Frame: Ancien et inutile ...
  • Steam-IO: Si vous souhaitez imprimer le résultat du compilateur. Préférablement pas.
  • Liste de fichiers: Si vous souhaitez que le compilateur crée un fichier de liste. Utile pour le débogage
  • Ajouter: ajouter au fichier de liste existant. Sinon écraser.
  • Largeur de page + Longueur: Format du fichier de listage.
  • Fichier Xref: Si vous souhaitez que le compilateur crée un XREF . Utile pour le débogage, la vérification de l'utilisation des index, etc.
  • Format XML: Si le compilateur xref doit être un XML. Sinon, texte "clair".
  • Ajouter: ajoute au fichier xref existant. Sinon écraser.
  • Fichier de débogage: fichier de liste du débogueur.
  • Clé de cryptage: si le fichier source est crypté à l'aide de xcode insérez la clé ici.
  • Réduire la taille du code R: Supprimez certaines informations de débogage pour garder le code r plus petit.
  • Générer MD-5: Principalement pour la compilation WebClient.

Utilisation de base

  1. Démarrer le compilateur
  2. Ajouter un chemin (s'il n'est pas déjà enregistré à la dernière session)
  3. Appuyez sur F2 pour compiler.
  4. Observez les erreurs.
  5. Sortie

Déclaration COMPILE

L'instruction de compilation vous permet de compiler des programmes en Progress ABL:

Utilisation de base:

COMPILE hello-world.p SAVE.

Avec une variable:

DEFINE VARIABLE prog AS CHARACTER   NO-UNDO.

prog = "hello.p".

COMPILE VALUE(prog) SAVE.

Il y a plusieurs options à l' COMPILE COMPILE:

SAVE indique que le code .r doit être enregistré pour une utilisation ultérieure.

COMPILE hello-world.p SAVE.

SAVE INTO dir OR SAVE INTO VALUE(dir-variable) enregistre le r-code dans le répertoire spécifié:

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

LISTING file . Crée un fichier de liste contenant des informations de débogage concernant les blocs, les inclusions, etc.

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

Le listing a quelques options pour ajouter des fichiers, taille de page et largeur de page:

APPEND PAGE-SIZE num PAGE-WIDTH num 

XREF xreffile enregistre un fichier xref de compilateur contenant des informations sur l'utilisation de la chaîne et de l'index, etc. Vous pouvez également APPEND celui-ci.

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

XREF-XML xreffile-or-dir fera la même chose que XREF mais enregistre le fichier au format xml à la place. Si vous utilisez un répertoire, le fichier xref s'appellera programname.xref.xml .

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

NO-ERROR supprimera toute erreur d'arrêt de votre programme.

COMPILE program SAVE NO-ERROR.

DEBUG-LIST file génère un fichier de débogage avec des numéros de ligne.

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

PREPROCESS file traduira d'abord tous les préprocesseurs, puis créera un nouveau PREPROCESS file avec le code avant la compilation.

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

XCODE key compilera un code source chiffré avec la key comme clé. Vous ne pouvez pas utiliser XCODE avec les options XREF, XREF-XML, STRING-XREF ou LISTING.

COMPILE program.p SAVE XCODE myKey.

Vous pouvez combiner plusieurs options:

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

Poignée du système COMPILER

Le COMPILER système COMPILER vous permet d’examiner des informations concernant une compilation récente.

En supposant que ok-program.p est un programme sans erreur ni avertissement:

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.

Cela va aboutir:

Pas d'erreurs

Compiler un programme avec un avertissement:

/* 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.

Compiler le programme:

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.

Résultat:

entrer la description de l'image ici

entrer la description de l'image ici

Compiler un programme avec une erreur

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.

Compiler le programme:

//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.

Résultat, il y a presque toujours deux erreurs par erreur. "Impossible de comprendre" est suivi de l'erreur réelle: entrer la description de l'image ici

entrer la description de l'image ici



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow