Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20.6
Compiler projet

Compiler projet 


 

Compiler projet {( {projectFile}{;}{options} )} -> Résultat 
Paramètre Type   Description
projectFile  4D.File in Fichier .4DProject à compiler
options  Objet in Objet indiquant les options de compilation
Résultat  Objet in Objet contenant des informations sur le statut de la compilation

Compiler projet vous permet de compiler le projet hôte courant ou le projet spécifié dans le paramètre projectFile. Pour plus d'informations sur la compilation, consultez la page de compilation sur developer.4d.com.

Par défaut, la commande utilise les options du compilateur définies dans les Paramètres de structure. Vous pouvez les remplacer en passant un paramètre options. Les syntaxes suivantes sont prises en charge :

  • Compiler projet() : compile le projet ouvert à l'aide des options définies dans les paramètres de structure
  • Compiler projet (options) : compile le projet ouvert. Les options définies remplacent les paramètres de structure
  • Compiler projet (projectFile) :  compile le 4DProject projectFile en utilisant les options définies dans les paramètres de structure
  • Compiler projet (projectFile; options) : compile le 4DProject projectFile et les options définies remplacent les paramètres de structure

Note : Les bases de données binaires ne peuvent pas être compilées avec cette commande.

Contrairement à la fenêtre du Compilateur, cette commande nécessite que vous désigniez explicitement le ou les composants à compiler. Lors de la compilation d'un projet avec Compiler projet, vous devez déclarer ses composants à l'aide de la propriété components du paramètre options. A noter que les composants doivent déjà être compilés (les composants binaires sont pris en charge).

Le code compilé résultant sera stocké dans le dossier DerivedData ou Libraries du projet, en fonction de la propriété targets du paramètre options. Si vous souhaitez créer des fichiers .4dz, vous devez toujours compresser manuellement le projet compilé ou utiliser la fonctionnalité Générer l'application.

Si vous passez une collection vide dans les targetsCompiler projet exécutera une vérification de syntaxe sans compiler.

Les erreurs de compilation, le cas échéant, sont retournées sous forme d'objets dans la collection errors.

Note : Vous ne pouvez pas appeler cette commande lorsqu'une autre compilation est en cours d'exécution (par exemple, une compilation lancée à partir de la fenêtre Compilation).

Le paramètre options est un objet. Voici les options de compilation disponibles :

PropriétéTypeDescription
componentsCollectionCollection d'objets 4D.File vers des composants dépendants (doit être déjà compilé)
defaultTypeForButtonsEntierValeur possible : Is real ou Is longint
defaultTypeForNumericsEntierValeur possible : Is real ou Is longint
generateSymbolsBooléenVrai pour générer des informations de symbole dans l'objet retourné .symbol
generateSyntaxFileBooléenVrai pour générer un fichier de syntaxe pour la complétion de code dans le dossier \Resources\en.lproj du projet.
generateTypingMethodsChaîne"reset" ou "append" pour générer des méthodes de typage. Si la valeur est "append", les déclarations de variables existantes ne seront pas modifiées (comportement de la fenêtre du compilateur)
pluginsObjet 4D.FolderDossier Plug-ins à utiliser en lieu et place du Dossier Plugins du projet courant. Cette propriété est disponible uniquement avec la syntaxe utilisant projectFile.
targetscollection de chaînesValeurs possibles : "x86_64_generic", "arm64_macOS_lib". Passez une collection vide pour exécuter une vérification de syntaxe uniquement
typeInferenceChaîne"all": saisissez toutes les variables, "locals": le process et l'interprocess sont saisis, "aucun": toutes les variables sont saisies
defaultTypeForNumericsEntierValeur possible : Is real ou Is longint

L'objet retourné par Compiler projet possède jusqu'à trois propriétés : 

PropriétéTypeDescription
successBooléenVrai si l'action de sauvegarde est réussie, Faux dans le cas contraire.
Disponible uniquement en cas d'erreur ou d'avertissement :
errorsCollection d'objetscollection d'objets décrivant les erreurs de compilation ou les avertissements
isErrorBooléenErreur sir Vrai, sinon, avertissement
messageChaîneMessage d'erreur
codeObjetObjet code
lineNumériqueNuméro de ligne de l'erreur dans le code. Pour des méthodes de classe, le numéro de ligne dans la fonction
lineInFileNumériqueNuméro de ligne dans le fichier (différent de la"ligne" des méthodes de classe, et prend en charge la ligne de préfixe %attributes)
Disponible uniquement si l'option generateSymbols est définie sur Vrai :
symbolObjet
interprocessVariablesObjetListe de toutes les variables interprocess
variablesCollectionCollection de Objets variable
sizeNumérique
processVariablesObjetListe de toutes les variables process
variablesCollectionCollection de Objets variable
sizeNumérique
localVariablesCollection d'objetsListe de variables locales par méthode
codeObjetObjet code
variablesCollectionCollection de Objets variable
methodsCollection d'objetsList of methods
codeObjetObjet code
callCountNumériqueNombre d'appels de cette méthode
paramsCollectionCollection de types de paramètre (codes numériques du type de valeur)
threadSafeBooléenIndique si la méthode est thread safe

Pour plus d'informations, reportez-vous aux Outils de compilation.

interprocessVariables.variables et processVariables.variables contiennent des objets avec la structure suivante :

 

PropriétéTypeDescription
nameChaîneNom de la variable
typenumériqueType de la variable (tel que la commande Value type)
arrayDimensionnumériquePour les tableaux uniquement : 1 pour les tableaux mono-dimension, 2 pour les tableaux à deux dimensions
codeObjetPour les variables process et interprocess : descripteur de l'emplacement de définition de la variable

La propriété code dans methods[ ].code et errors[ ].code est un objet dont les propriétés sont les suivantes :

PropriétéTypeDescription
typeChaîne
  • "projectMethod",
  • "formObjectMethod",
  • "databaseMethod",
  • "triggerMethod",
  • "executeOnServer" (lors de l'appel de la méthode projet avec Attribut Exécuter sur serveur.),
  • "executeFormula" (lors de l'exécution d'une formule via TRAITER BALISES 4D ou l'évaluation d'une formule dans un document 4D Write Pro.)
  • "class"
  • "classFunction"
pathChaîneChemin de méthode (format identique à celui de METHODE OUVRIR CHEMIN)
file4D.FileFichier méthode
Retournée selon la valeur de propriété du type :
methodNameChaîneMéthode projet
tableNumériqueNuméro de table (retourné pour un trigger, une méthode formulaire de table ou une méthode objet formulaire)
formNameChaîneNom de formulaire (retourné pour une méthode formulaire)
objectNameChaîneNom de l'objet formulaire (retourné pour une méthode formulaire)
classNameChaîneNom de classe
functionNameChaîneNom de fonction de classe
databaseMethodNumériqueIndex de la méthode base

To perform a syntax check only, pass an empty collection to the targets parameter:

 var $options;$status : Object
 $options:=New object
 $options.targets:=New collection //Empty collection for syntax checking
 $status:=Compile project($options)

 

Compile the current project using the compiler options of the Structure Settings only:

 var $status : Object
 $status:=Compile project

 

On a Silicon Mac, compile the current project to ARM only:

 var $options;$status : Object
 $options:=New object
 $options.targets:=New collection("arm64_macOS_lib")
 $status:=Compile project($options)

 

Compile a project other than the current project:

 var $status : Object
 var $projectFile: 4D.File
 $projectFile:=Folder(fk documents folder).file("Databases/myApp/Project/myApp.4DProject")
 $status:=Compile project($projectFile)

 

Compile a project and declare its component:

 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)



Voir aussi  

GENERER APPLICATION

 
PROPRIÉTÉS 

Produit : 4D
Thème : Compilateur
Numéro : 1760
Nom intl. : Compile project

 
PAGE CONTENTS 
 
HISTORIQUE 

New
Créé : 4D v19
Modifié : 4D v19 R5
Modifié : 4D v20.1

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v20.1)
4D - Langage ( 4D v20.2)
4D - Langage ( 4D v20.3)
4D - Langage ( 4D v20.4)
4D - Langage ( 4D v20.5)
4D - Langage ( 4D v20.6)

Parent de : Compiler projet ( 4D v20)