Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
Compile project
|
Compile project {( {projectFile}{;}{options} )} -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
projectFile | Dateiobjekt |
![]() |
.4DProject-Datei zum Kompilieren | |||||
options | Objekt |
![]() |
Objekt, das Kompilierungsoptionen angibt | |||||
Funktionsergebnis | Objekt |
![]() |
Objekt, das Informationen über den Kompilierungsstatus enthält | |||||
Compile project ermöglicht die Kompilierung des aktuellen Host-Projekts oder des im Parameter projectFile angegebenen Projekts. Weitere Informationen zur Kompilierung finden Sie in der Kompilierungsseite auf developer.4d.com.
Standardmäßig verwendet der Befehl die in den Struktureinstellungen definierten Compiler-Optionen. Sie können sie außer Kraft setzen, indem Sie einen option Parameter übergeben. Die folgenden Syntaxen werden unterstützt:
Hinweis: Binäre Datenbanken können mit diesem Befehl nicht kompiliert werden.
Im Gegensatz zum Compiler-Fenster müssen Sie bei diesem Befehl die zu kompilierende(n) Komponente(n) explizit angeben. Wenn Sie ein Projekt mit Compile project kompilieren, müssen Sie dessen Komponenten mit der Eigenschaft components des Parameters options deklarieren. Beachten Sie, dass die Komponenten bereits kompiliert sein müssen (binäre Komponenten werden unterstützt).
Der resultierende kompilierte Code wird im Ordner "DerivedData" oder "Libraries" des Projekts gespeichert, abhängig von der Eigenschaft "targets" des Parameters options. Wenn Sie .4dz-Dateien erstellen möchten, müssen Sie das kompilierte Projekt noch manuell zippen oder mit dem build application Feature arbeiten.
Wenn Sie eine leere Collection in targets übergeben, führt Compile project eine Syntaxprüfung durch, ohne zu kompilieren.
Kompilierungsfehler werden, falls vorhanden, als Objekte in der error Variable zurückgegeben.
Hinweis: Sie können diesen Befehl nicht aufrufen, wenn eine andere Kompilierung läuft (z. B. eine Kompilierung, die über das Fenster Kompilierung gestartet wurde).
Der Parameter options ist ein Objekt. Hier sind die verfügbaren Compiler-Optionen:
Eigenschaft | Typ | Beschreibung |
components | Collection | Collection von 4D.File Objekten zu abhängigen Komponenten (muss bereits kompiliert sein) |
defaultTypeForButtons | Ganzzahl | Möglicher Wert: Is real oder Is longint |
defaultTypeForNumerics | Ganzzahl | Möglicher Wert: Is real oder Is longint |
generateSymbols | Boolean | True, um Symbolinformationen im zurückgegebenen Objekt .symbols zu generieren |
generateSyntaxFile | Boolean | True, um eine Syntaxdatei für die Codevervollständigung im Ordner \Resources\en.lproj des Projekts zu erzeugen |
generateTypingMethods | String | "reset" oder "append", um Typisierungsmethoden zu erzeugen. Wenn der Wert "append" ist, werden bestehende Variablendeklarationen nicht geändert (Verhalten des Compiler-Fensters). Wenn der Wert "reset" ist, werden bestehende Variablendeklarationen vorher entfernt. |
plugins | 4D.Folder object | Plugins-Ordner, der anstelle des Plugins-Ordners des aktuellen Projekts verwendet werden soll. Diese Eigenschaft ist nur mit der projectFile-Syntax verfügbar. |
Ziele | Collection von Strings | mögliche Werte: "x86_64_generic", "arm64_macOS_lib". Leere Collection übergeben, um nur die Syntaxprüfung durchzuführen |
typeInference | String | "all": Typisiere alle Variablen, "locals": Prozess und Interprozess werden typisiert, "none": Alle Variablen werden getippt |
Das von Compile project zurückgegebene Objekt hat bis zu drei Eigenschaften:
Eigenschaft | Typ | Beschreibung | ||
success | Boolean | True, wenn die Speicheraktion erfolgreich ist, sonst False. | ||
Nur im Falle eines Fehlers oder einer Warnung verfügbar: | ||||
errors | Collection of objects | Collection von Objekten, die Kompilierungsfehler oder Warnungen beschreiben | ||
isError | Boolean | Fehler, wenn True, sonst Warnung | ||
message | String | Fehlermeldung | ||
code | Object | Code Objekt | ||
line | Number | Zeilennummer des Fehlers im Code. Bei Klassenmethoden, Zeilennummer in der Funktion | ||
lineInFile | Number | Zeilennummer in der Datei (unterscheidet sich von "line" für Klassenmethoden und berücksichtigt die %attributes-Präfixzeile) | ||
Nur verfügbar, wenn die Option generateSymbols auf True gesetzt ist: | ||||
symbols | Object | |||
interprocessVariables | Object | Liste aller Interprozessvariablen | ||
variables | Collection | Collection von Variable Objekt | ||
size | Number | |||
processVariables | Object | Liste aller Prozessvariablen | ||
variables | Collection | Collection von Variable Objekt | ||
size | Number | |||
localVariables | Collection of objects | Liste der lokalen Variablen pro Methode | ||
code | Object | Code Objekt | ||
variables | Collection | Collection von Variable Objekt | ||
methods | Collection of objects | Liste der Methoden | ||
code | Object | Code Objekt | ||
callCount | Number | Anzahl, wie oft diese Methode aufgerufen wurde | ||
params | Collection | Collection von Parametertypen (Werte der Zahlencodes) | ||
threadSafe | Boolean | Gibt an, ob diese Methode thread-sicher ist |
Für weitere Informationen, siehe Compilation tools.
Interprozess- und Prozessvariablen enthalten Objekte mit der folgenden Struktur:
Eigenschaft | Typ | Beschreibung |
name | String | Name der Variable |
type | number | Typ der Variablen (Werttyp wie Befehl) |
arrayDimension | number | Nur für Arrays: 1 für eindimensionale Arrays, 2 für zweidimensionale Arrays |
code | Object | Bei Prozess- und Interprozessvariablen: Deskriptor, wo die Variable definiert wurde |
Die Code-Eigenschaft in methods[ ].code und errors[ ].code ist ein Objekt mit den folgenden Eigenschaften:
Eigenschaft | Typ | Beschreibung |
type | String |
|
path | String | Method path (genauso wie METHOD OPEN PATH) |
file | 4D.File | Method file |
Wird in Abhängigkeit vom Wert der Typeigenschaft zurückgegeben: | ||
methodName | String | Project method |
table | Number | Nummer der Tabelle (wird bei einem Trigger, einer Tabellenformularmethode oder einer Tabellenformularobjektmethode zurückgegeben) |
formName | String | Form name (zurückgegeben für eine Formularmethode) |
objectName | String | Form object name (zurückgegeben für eine Objektmethode) |
className | String | Class name |
functionName | String | Class function name |
databaseMethod | Number | Database method index |
Um nur eine Syntaxprüfung durchzuführen, übergeben Sie eine leere Auflistung an den Parameter targets:
var $options;$status : Object
$options:=New object
$options.targets:=New collection //Empty collection for syntax checking
$status:=Compile project($options)
Kompilieren Sie das aktuelle Projekt nur mit den Compiler-Optionen der Struktureinstellungen:
var $status : Object
$status:=Compile project
Kompilieren Sie auf einem Silicon Mac das aktuelle Projekt nur für ARM:
var $options;$status : Object
$options:=New object
$options.targets:=New collection("arm64_macOS_lib")
$status:=Compile project($options)
Kompilieren Sie ein anderes Projekt als das aktuelle Projekt:
var $status : Object
var $projectFile: 4D.File
$projectFile:=Folder(fk documents folder).file("Databases/myApp/Project/myApp.4DProject")
$status:=Compile project($projectFile)
Kompilieren Sie ein Projekt und deklarieren Sie seine Komponente:
var $options;$status : Object
var $component : 4D.File
$options:=New object
$component:=Folder(fk documents folder).file("Components/myComponent.4dz")
$options.components:=New collection($component)
$status:=Compile project($options)
Produkt: 4D
Thema: Compiler
Nummer:
1760
Erstellt: 4D v19
Geändert: 4D v19 R5
Geändert: 4D v20.1
4D Programmiersprache ( 4D v20.1)
4D Programmiersprache ( 4D v20.2)
4D Programmiersprache ( 4D v20.3)
4D Programmiersprache ( 4D v20.4)
4D Programmiersprache ( 4D v20.5)
4D Programmiersprache ( 4D v20.6)
Gesplittet : Compile project ( 4D v20)