Sök…


Introduktion

Kompilera framstegskod som kallas "r-kod" och sparas normalt i en fil med tillägget .r. Det finns ett par olika sätt att sammanställa: använda COMPILE uttalandet eller på Linux eller AppBuilder: den inbyggda applikationskompileraren. Developer Studio (Eclipse-miljön) har sammanställt inbyggd i sin byggprocess.

Du måste ha 4GL-utveckling eller OpenEdge Studio installerat för att kompilera 4GL-program som uppdaterar databasen.

Syntax

  • COMPILE program.p SPARA. // Kompilera program.p och spara dess r-kod
  • SAMMANSÄTTNINGSVÄRDE (var) SPARA. // Kompilera namnet sparade i variabeln "var" och spara dess r-kod
  • COMPILE prog.p XREF prog.xref LISTING prog.list. // Kompilera prog.p och skapa xref- och listfiler. Spara inte r-koden.
  • COMPILE program.p SPARA NO-ERROR. // Kompilera program.p, spara r-kod och hämma fel för att stoppa körningen.

Tillämpningskompilator

Windows AppBuilder

I Windows Appbuilder finns applikationskompileraren i verktygsmenyn. Windows AppBuilder

Procedure Editor (Linux - pro eller Windows pro.exe

I procedurredigeraren (både Linux och Windows) finns kompilatorn om den finns i Verktyg-menyn. Linux Procedure Editor Editor

Tillämpningskompilator

Windows Application Compiler Linux Application Compiler

Oavsett operativsystem är kompilatorns funktionalitet densamma. Du kan lägga till kataloger och / eller filer och sammanställa dem.

Huvudinställningar (mer nedan):

  • Spara ny .r-fil. Om inte markeras kommer filerna helt enkelt att kompileras men inte sparas. Användbart för felspårning till exempel.
  • Titta i underkataloger. Annars måste underkataloger läggas till.
  • Ta bort gamla .r-filer. Skriv över gammal .r-fil.
  • Onlu Compile if No .r-fil. Compilerar bara okompilerade filer.

Alternativ:

  • Propath - visar dig propath och låt dig välja kataloger att kompilera från den.
  • Lägg till - låter dig mata in en katalog eller fil.
  • Ändra - låter dig ändra en befintlig post.
  • Radera - raderar en post.
  • Start Compile - Startar kompilatorn. Genväg: F2

Huvudmenyvalen:

  • File -> Exit: Avslutar kompilatorn
  • Kompilera -> Starta kompilering: Startar kompilatorn. Genväg: F2
  • Verktyg -> Tillgång till andra verktyg
  • Alternativ -> Compiler ...: Inställningar, se nedan.
  • Hjälp -> OpenEdge Hjälp (endast Windows). Online hjälp. Genväg: F1

inställningar

inställningar

  • Standardfilspecifikation: Filnamnstillägg att kompilera
  • Meddelande loggfil: fil för att spara meddelanden, varningar och fel i
  • Spara i: Var ska lagras .r-fil. Om tomt är samma katalog som koden.
  • Språk: för översättningar. Inte täckt här.
  • V6Frame: Gammal och oanvändbar ...
  • Steam-IO: Om du vill skriva ut kompilatorutgången. Troligtvis inte.
  • Listningsfil: Om du vill att kompilatorn ska skapa en listningsfil. Användbart för felsökning
  • Bilaga: lägg till den befintliga listan. Annars skriv över.
  • Sidbredd + Längd: Format för listfilen.
  • Xref-fil: Om du vill att kompilatorn ska skapa en XREF . Användbart för felsökning, kontroll av indexanvändning etc.
  • XML-format: Om kompilatorn xref ska vara en xml. Annars "vanlig" text.
  • Bilaga: lägg till den befintliga xref-filen. Annars skriv över.
  • Debug File: Debugger-lista.
  • Krypteringsnyckel: Om källfilen är krypterad med xcode in nyckeln här.
  • Minimera R-kodstorlek: Ta bort information om felsökning för att hålla r-koden liten.
  • Generera MD-5: Mest för WebClient-sammanställning.

Grundläggande användning

  1. Starta kompilatorn
  2. Lägg till en sökväg (om den inte redan har sparats från förra sessionen)
  3. Tryck på F2 för att sammanställa.
  4. Observera eventuella fel.
  5. Utgång

SAMMANFATTNING uttalande

Med kompilationssatsen kan du kompilera program i Progress ABL:

Grundläggande användning:

COMPILE hello-world.p SAVE.

Med en variabel:

DEFINE VARIABLE prog AS CHARACTER   NO-UNDO.

prog = "hello.p".

COMPILE VALUE(prog) SAVE.

Det finns flera alternativ till COMPILE statistik:

SAVE anger att .r-koden ska sparas för framtida användning.

COMPILE hello-world.p SAVE.

SAVE INTO dir OR SAVE INTO VALUE(dir-variable) sparar r-koden i den angivna katalogen:

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

LISTING file . Skapar en listningsfil som innehåller felsökningsinformation om block, inkluderar etc.

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

Listningen har ett par alternativ för att lägga till filer, sidstorlek och sidbredd:

APPEND PAGE-SIZE num PAGE-WIDTH num 

XREF xreffile sparar en kompilator xref-fil som innehåller information om sträng- och indexanvändning etc. Du kan också APPEND här.

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

XREF-XML xreffile-or-dir gör samma sak som XREF men sparar filen i ett xml-format istället. Om du använder en katalog kommer xref-filen att kallas programname.xref.xml .

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

NO-ERROR kommer att hämma eventuella fel från att stoppa ditt program.

COMPILE program SAVE NO-ERROR.

DEBUG-LIST file genererar en felsökningsfil med radnummer.

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

PREPROCESS file översätter först alla förbehandlare och skapar sedan en ny .p-fil med koden före sammanställningen.

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

XCODE key kommer att sammanställa en krypterad källkod med key som nyckel. Du kan inte använda XCODE med alternativen XREF, XREF-XML, STRING-XREF eller LISTING tillsammans.

COMPILE program.p SAVE XCODE myKey.

Du kan kombinera flera alternativ:

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

COMPILER-systemhandtag

Med COMPILER systemet kan du titta på information om en ny sammanställning.

Antagande av ok-program.p är ett program utan några fel eller varningar:

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.

Detta kommer att uppmana:

Inga fel

Kompilera ett program med en varning:

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

Kompilera programmet:

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.

Resultat:

ange bildbeskrivning här

ange bildbeskrivning här

Kompilera ett program med ett fel

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.

Kompilera programmet:

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

Resultat, det finns nästan alltid två fel per fel. "Kunde inte förstå" följs av det faktiska felet: ange bildbeskrivning här

ange bildbeskrivning här



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow