Suche…


Einführung

Kompilieren Sie den Fortschrittscode als "r-Code" und wird normalerweise in einer Datei mit der Erweiterung .r gespeichert. Es gibt verschiedene Arten des Kompilierens: Mit der COMPILE Anweisung oder unter Linux oder AppBuilder: dem integrierten Anwendungs-Compiler. In Developer Studio (der Eclipse-Umgebung) ist das Compilieren in den Erstellungsprozess integriert.

Sie müssen 4GL Development oder OpenEdge Studio installiert haben, um 4GL-Programme zu kompilieren, die die Datenbank aktualisieren.

Syntax

  • COMPILE program.p SPEICHERN. // program.p kompilieren und den R-Code speichern
  • COMPILE VALUE (var) SPEICHERN. // Kompiliere den Namen, der in der Variablen "var" gespeichert ist, und speichere den R-Code
  • COMPILE prog.p XREF prog.xref LISTE prog.list. // prog.p kompilieren und Xref- und Listing-Dateien erstellen. Speichern Sie den R-Code nicht.
  • COMPILE program.p SPEICHERN NO-FEHLER. // program.p kompilieren, R-Code speichern und Fehler unterdrücken, um die Ausführung zu stoppen.

Anwendungs-Compiler

Windows AppBuilder

Im Windows Appbuilder befindet sich der Application Compiler im Menü Tools. Windows AppBuilder

Prozedureditor (Linux - pro oder Windows pro.exe

Im Prozedur-Editor (sowohl Linux als auch Windows) den Compiler, wenn er sich im Menü Extras befindet. Linux Procedure Editor-Editor

Anwendungs-Compiler

Windows-Anwendungscompiler Linux-Anwendungs-Compiler

Unabhängig vom Betriebssystem ist die Funktionalität des Compilers gleich. Sie können Verzeichnisse und / oder Dateien hinzufügen und kompilieren.

Haupteinstellungen (mehr unten):

  • Speichern Sie die neue .r-Datei. Wenn diese Option nicht aktiviert ist, werden die Dateien nur kompiliert, aber nicht gespeichert. Zum Beispiel für die Fehlerverfolgung nützlich.
  • Schauen Sie in Unterverzeichnisse. Andernfalls müssen Unterverzeichnisse hinzugefügt werden.
  • Alte .r-Dateien entfernen. Alte R-Datei überschreiben.
  • Onlu-Kompilierung, wenn keine .r-Datei. Kompiliert nur nicht kompilierte Dateien.

Optionen:

  • Propath - zeigt Ihnen den Propath und lässt Sie Verzeichnisse auswählen, die daraus erstellt werden sollen.
  • Hinzufügen - Damit können Sie ein Verzeichnis oder eine Datei eingeben.
  • Ändern - Damit können Sie einen vorhandenen Eintrag ändern.
  • Löschen - Löscht einen Eintrag.
  • Compile starten - Startet den Compiler. Abkürzung: F2

Die Hauptmenüoptionen:

  • Datei -> Beenden: Beendet den Compiler
  • Compile -> Compile starten: Startet den Compiler. Abkürzung: F2
  • Tools -> Zugriff auf andere Tools
  • Option -> Compiler ...: Einstellungen, siehe unten.
  • Hilfe -> OpenEdge-Hilfe (nur Windows). Onlinehilfe. Abkürzung: F1

die Einstellungen

die Einstellungen

  • Default File Spec: Dateinamenerweiterungen zum Kompilieren
  • Meldungsprotokolldatei: Datei zum Speichern von Meldungen, Warnungen und Fehlern
  • Speichern in: Speicherort der .r-Datei Wenn leer, dasselbe Verzeichnis wie der Code.
  • Sprachen: für Übersetzungen. Hier nicht abgedeckt.
  • V6Frame: Alt und unbrauchbar ...
  • Steam-IO: Wenn Sie die Compiler-Ausgabe drucken möchten. Höchst wahrscheinlich nicht.
  • Auflistungsdatei: Wenn der Compiler eine Auflistungsdatei erstellen soll. Nützlich zum Debuggen
  • Anhängen: Zur vorhandenen Listungsdatei hinzufügen. Ansonsten überschreiben.
  • Seitenbreite + Länge: Format der Auflistungsdatei.
  • Xref-Datei: Wenn Sie möchten, dass der Compiler eine XREF Datei XREF . Nützlich zum Debuggen, Überprüfen der Indexnutzung usw.
  • XML-Format: Wenn der Compiler xref eine xml sein soll. Ansonsten "einfacher" Text.
  • Anhängen: Fügt die vorhandene XRef-Datei hinzu. Ansonsten überschreiben.
  • Debug-Datei: Debugger-Auflistungsdatei.
  • Verschlüsselungsschlüssel: Wenn die Quelldatei mit xcode verschlüsselt ist, geben xcode den Schlüssel hier ein.
  • R-Code-Größe minimieren: Entfernen Sie einige Debugging-Informationen, um den R-Code klein zu halten.
  • MD-5 generieren: Meist für WebClient-Kompilierung.

Grundlegende Verwendung

  1. Starten Sie den Compiler
  2. Einen Pfad hinzufügen (falls noch nicht von der letzten Sitzung gespeichert)
  3. Drücken Sie zum Kompilieren die Taste F2 .
  4. Beachten Sie eventuelle Fehler.
  5. Ausgang

COMPILE-Anweisung

Mit der Anweisung zum Kompilieren können Sie Programme in Progress ABL kompilieren:

Grundnutzung:

COMPILE hello-world.p SAVE.

Mit einer Variable:

DEFINE VARIABLE prog AS CHARACTER   NO-UNDO.

prog = "hello.p".

COMPILE VALUE(prog) SAVE.

Es gibt verschiedene Optionen für die COMPILE -Anweisung:

SAVE gibt an, dass der .r-Code zur späteren Verwendung gespeichert werden soll.

COMPILE hello-world.p SAVE.

SAVE INTO dir OR SAVE INTO VALUE(dir-variable) speichert den R-Code im angegebenen Verzeichnis:

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

LISTING file . Erzeugt eine Auflistungsdatei mit Debug-Informationen zu Blöcken, Include-Elementen usw.

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

Die Auflistung bietet mehrere Optionen zum Anhängen von Dateien, Seitengröße und Seitenbreite:

APPEND PAGE-SIZE num PAGE-WIDTH num 

XREF xreffile einen Compiler xref - Datei , die Informationen über String und Indexnutzung usw. speichern Sie können auch APPEND diese.

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

XREF-XML xreffile-or-dir macht dasselbe wie XREF , speichert die Datei jedoch im XML-Format. Wenn Sie ein Verzeichnis verwenden, wird die XRef-Datei mit dem Namen programname.xref.xml .

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

NO-ERROR unterdrückt eventuelle Fehler beim Stoppen Ihres Programms.

COMPILE program SAVE NO-ERROR.

DEBUG-LIST file generiert eine Debug-Datei mit Zeilennummern.

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

PREPROCESS file übersetzt zuerst alle Präprozessoren und erstellt dann vor dem Kompilieren eine neue .p-Datei mit dem Code.

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

XCODE key einen verschlüsselten Quellcode mit dem key als Schlüssel. Sie können XCODE nicht zusammen mit den Optionen XREF, XREF-XML, STRING-XREF oder LISTING verwenden.

COMPILE program.p SAVE XCODE myKey.

Sie können mehrere Optionen kombinieren:

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

COMPILER Systemgriff

Mit dem COMPILER System-Handle können Sie Informationen zu einem kürzlich erstellten Compile COMPILER .

Angenommen, ok-program.p ist ein Programm ohne Fehler oder Warnungen:

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.

Dies wird Folgendes bewirken:

Keine Fehler

Ein Programm mit einer Warnung erstellen:

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

Programm zusammenstellen:

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.

Ergebnis:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Ein Programm wird mit einem Fehler kompiliert

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.

Programm zusammenstellen:

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

Das Ergebnis ist fast immer zwei Fehler pro Fehler. "Konnte nicht verstehen" folgt der eigentliche Fehler: Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow