COMPILE-Befehl

Kompiliert eine oder mehrere Quelldateien und erstellt für jede Quelldatei eine Objektdatei.

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

-OR-

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

Parameter

  • CLASSLIB
    Spezifiziert, dass es sich bei der zu kompilierenden Datei um eine Bibliothek visueller Klassen (VCX) handelt. Der Quellcode von Bibliotheken visueller Klassen wird in Memofeldern in der Tabelle für Bibliotheken visueller Klassen gespeichert. COMPILE CLASSLIB kompiliert diese Memofelder in Objektcode, der in einem zusätzlichen Memofeld gespeichert wird.

  • LABEL
    Spezifiziert, dass es sich bei der zu kompilierenden Datei um eine Etikettendefinitionsdatei (LBX) handelt. Der Quellcode der mit der Etikettendefinitionsdatei gespeicherten Datenumgebung wird kompiliert und in einem zusätzlichen Memofeld gespeichert.

  • REPORT
    Spezifiziert, dass es sich bei der zu kompilierenden Datei um eine Berichtsdefinitionsdatei (FRX) handelt. Der Quellcode der mit der Berichtsdefinitionsdatei gespeicherten Datenumgebung wird kompiliert und in einem zusätzlichen Memofeld gespeichert.

  • FileName | FileSkeleton
    Gibt für die Kompilierung eine einzelne Datei (FileName) bzw. einen Satz von Dateien an, die einem Dateimuster FileSkeleton mit Platzhalterzeichen wie * und ? entsprechen. Mit Hilfe des Befehls COMPILE *.PRG können Sie beispielsweise alle PRG-Dateien im aktuellen Verzeichnis bzw. Ordner kompilieren.

  • ?
    Ruft das Dialogfeld Kompilieren auf, in dem Sie die zu kompilierende Datei angeben können.

  • ENCRYPT
    Verschlüsselt die kompilierten Visual FoxPro-Programme. Dieses Schlüsselwort kann nicht gemeinsam mit den Schlüsselwörtern CLASSLIB, LABEL und REPORT verwendet werden. Dadurch wird jeglicher Zugriff auf die ursprünglichen Quellprogramme verhindert. Zum Schutz des Quellcodes sollten Sie diese Option immer verwenden, wenn Sie Programme zum Weitergeben an Andere kompilieren.

  • NODEBUG
    Reduziert die Größe der kompilierten Datei um zwei Bytes je Quellcodezeile. Dieses Schlüsselwort kann nicht gemeinsam mit den Schlüsselwörtern CLASSLIB, LABEL und REPORT verwendet werden. Diese zwei Bytes in der kompilierten Datei enthalten einen Verweis auf die entsprechende Zeile im Quellcode. Die Leistung des Programms wird durch die Entfernung dieser beiden Bytes nicht beeinflusst; es wird nur die Größe der kompilierten Datei reduziert und dadurch Speicherplatz eingespart.

    Wenn Sie NODEBUG angeben, können Sie weder den Ablauf des Programms im Programmverfolgungsfenster verfolgen noch mit MESSAGE(1) zum Quellcode einer einen Fehler verursachenden Zeile gelangen.

  • AS nCodePage
    Spezifiziert die Codepage, für die das Programm kompiliert wird. Dieses Schlüsselwort kann nicht gemeinsam mit den Schlüsselwörtern CLASSLIB, LABEL und REPORT verwendet werden. Die mit dieser Klausel angegebene Codepage setzt die mit SET CPCOMPILE festgelegte globale Kompilierungscodepage außer Kraft.

Hinweise

Visual FoxPro führt nur Objektdateien aus; wurde eine Quelldatei nicht kompiliert, so geschieht dies bei Aufruf des Programms automatisch. Die Quelldatei bleibt dabei unverändert. Es wird eine separate kompilierte Datei mit dem gleichen Stammnamen wie die Quelldatei, jedoch mit einer anderen Dateinamenerweiterung erstellt. Die folgende Tabelle führt für die einzelnen Dateitypen die Dateinamenerweiterungen der Quelldatei und der kompilierten Datei auf:

Dateityp Dateierweiterung Quelldatei Dateierweiterung kompilierte Datei
Programmdatei PRG FXP
Formularcode SPR SPX
Menücode MPR MPX
Abfrage QPR QPX
Format FMT PRX

Der Compiler stellt alle Syntaxfehler in der Quelldatei fest. Ist bei der Kompilierung der Datei SET LOGERRORS auf ON gesetzt, werden alle Fehlermeldungen bei der Kompilierung in einer Textdatei gespeichert. Diese Fehlerprotokolldatei hat den gleichen Stammnamen wie die kompilierte Datei und die Dateierweiterung ERR. Ist SET LOGERRORS auf OFF gesetzt, wird keine Fehlerprotokolldatei erstellt.

Siehe auch

#DEFINE ... #UNDEF Präprozessoranweisung | #IF ... #ENDIF-Präprozessoranweisung | #IFDEF |#IFNDEF ... #ENDIF-Präprozessoranweisung | #INCLUDE | BUILD PROJECT | COMPILE DATABASE | COMPILE FORM | BUILD APP | MODIFY COMMAND | MODIFY PROJECT | SET CPCOMPILE | SET LOGERRORS