Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20.6
Compile project

Compile project 


 

Compile project {( {projectFile}{;}{options} )} -> Funktionsergebnis 
Parameter Typ   Beschreibung
projectFile  Dateiobjekt in .4DProject-Datei zum Kompilieren
options  Objekt in Objekt, das Kompilierungsoptionen angibt
Funktionsergebnis  Objekt in 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:

  • Compile project(): kompiliert das geöffnete Projekt unter Verwendung der in den Struktureinstellungen festgelegten Optionen
  • Compile project(options): Kompiliert das geöffnete Projekt. Die definierten Optionen überschreiben die Struktureinstellungen
  • Compile project(projectFile):  kompiliert die projectFile 4DProject unter Verwendung der in den Struktureinstellungen festgelegten Optionen
  • Compile project(projectFile; options): kompiliert die projectFile 4DProject und die definierten options überschreiben die Struktureinstellungen

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:

 

EigenschaftTypBeschreibung
componentsCollectionCollection von 4D.File Objekten zu abhängigen Komponenten (muss bereits kompiliert sein)
defaultTypeForButtonsGanzzahlMöglicher Wert: Is real oder Is longint
defaultTypeForNumericsGanzzahlMöglicher Wert: Is real oder Is longint
generateSymbolsBooleanTrue, um Symbolinformationen im zurückgegebenen Objekt .symbols zu generieren
generateSyntaxFileBooleanTrue, um eine Syntaxdatei für die Codevervollständigung im Ordner \Resources\en.lproj des Projekts zu erzeugen
generateTypingMethodsString"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.
plugins4D.Folder objectPlugins-Ordner, der anstelle des Plugins-Ordners des aktuellen Projekts verwendet werden soll. Diese Eigenschaft ist nur mit der projectFile-Syntax verfügbar.
ZieleCollection von Stringsmögliche Werte: "x86_64_generic", "arm64_macOS_lib". Leere Collection übergeben, um nur die Syntaxprüfung durchzuführen
typeInferenceString"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:

 

EigenschaftTypBeschreibung
successBooleanTrue, wenn die Speicheraktion erfolgreich ist, sonst False.
Nur im Falle eines Fehlers oder einer Warnung verfügbar:
errorsCollection of objectsCollection von Objekten, die Kompilierungsfehler oder Warnungen beschreiben
isErrorBooleanFehler, wenn True, sonst Warnung
messageStringFehlermeldung
codeObjectCode Objekt
lineNumberZeilennummer des Fehlers im Code. Bei Klassenmethoden, Zeilennummer in der Funktion
lineInFileNumberZeilennummer 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:
symbolsObject
interprocessVariablesObjectListe aller Interprozessvariablen
variablesCollectionCollection von Variable Objekt
sizeNumber
processVariablesObjectListe aller Prozessvariablen
variablesCollectionCollection von Variable Objekt
sizeNumber
localVariablesCollection of objectsListe der lokalen Variablen pro Methode
codeObjectCode Objekt
variablesCollectionCollection von Variable Objekt
methodsCollection of objectsListe der Methoden
codeObjectCode Objekt
callCountNumberAnzahl, wie oft diese Methode aufgerufen wurde
paramsCollectionCollection von Parametertypen (Werte der Zahlencodes)
threadSafeBooleanGibt an, ob diese Methode thread-sicher ist

Für weitere Informationen, siehe Compilation tools.

Interprozess- und Prozessvariablen enthalten Objekte mit der folgenden Struktur:

EigenschaftTypBeschreibung
nameStringName der Variable
typenumberTyp der Variablen (Werttyp wie Befehl)
arrayDimensionnumberNur für Arrays: 1 für eindimensionale Arrays, 2 für zweidimensionale Arrays
codeObjectBei 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:

EigenschaftTypBeschreibung
typeString
  • "projectMethod",
  • "formObjectMethod",
  • "databaseMethod",
  • "triggerMethod",
  • "executeOnServer" (beim Aufruf einer Projektmethode mit der Attribut Auf Server ausführen.),
  • "executeFormula" (beim Ausführen einer Formel über PROCESS 4D TAGS oder die Auswertung einer Formel in einem 4D Write Pro Dokument.)
  • "class"
  • "classFunction"
pathStringMethod path (genauso wie METHOD OPEN PATH)
file4D.FileMethod file
Wird in Abhängigkeit vom Wert der Typeigenschaft zurückgegeben:
methodNameStringProject method
tableNumberNummer der Tabelle (wird bei einem Trigger, einer Tabellenformularmethode oder einer Tabellenformularobjektmethode zurückgegeben)
formNameStringForm name (zurückgegeben für eine Formularmethode)
objectNameStringForm object name (zurückgegeben für eine Objektmethode)
classNameStringClass name
functionNameStringClass function name
databaseMethodNumberDatabase 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)



Siehe auch 

BUILD APPLICATION

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Compiler
Nummer: 1760

 
SEITENINHALT 
 
GESCHICHTE 

New
Erstellt: 4D v19
Geändert: 4D v19 R5
Geändert: 4D v20.1

 
ARTIKELVERWENDUNG

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)