|
|
|
|
|
- Présentation
- Onglet Compilation
- Options générales
- Erreurs d'UI
- Compilation multi-configuration
- Norme de programmation
- Options de compilation
Description du projet : Onglet Compilation
La fenêtre de description du projet permet de configurer de nombreux éléments de votre projet. Cette fenêtre est constituée des onglets suivants : - L'onglet "Projet" qui permet de saisir les informations générales du projet
- L'onglet "Analyse" qui permet d'associer une analyse au projet et / ou un modèle UML
- L'onglet "Fichiers" qui permet de saisir différentes informations sur les fichiers de données gérés par l'application (uniquement disponible si le projet est lié à une analyse).
- L'onglet "Live data" qui permet de configurer l'affichage des données (provenant des fichiers de données) sous les différents éditeurs.
- L'onglet "Langues" qui permet de paramétrer les différentes langues manipulées par le projet ainsi que les options linguistiques à utiliser pour chaque langue.
- L'onglet "Style" qui permet de choisir le thème de gabarit, la feuille de styles personnalisée et de personnaliser l'aperçu avant impression. Il est également possible de paramétrer la taille des écrans.
- L'onglet "GDS" qui permet de gérer le travail en groupe (GDS ou GIT).
- L'onglet "Options" qui permet de configurer les options de création, de mise à jour, et de sauvegarde des éléments. Cet onglet permet également de gérer la synchronisation des modèles, d'activer le mode strict et de définir la charte de programmation.
- L'onglet "Avancé" qui permet de gérer l'utilisation de "Etats & Requêtes", les FAA et le verrouillage de l'application.
- L'onglet "Compilation" qui permet de configurer les options de compilation.
- L'onglet "Télémétrie" qui permet de configurer les options de télémétrie pour le projet.
Cette option n'est pas disponible.
Options générales Les options générales sont les suivantes : - Recompiler le projet avant la génération des applications, des bibliothèques, des composants, ... :
Cette option permet de forcer la recompilation du projet avant chaque opération majeure sur le projet. Cette option est notamment conseillée lors de la génération multiple à partir d'un projet. Cette option est également proposée dans tous les assistants permettant de réaliser une opération de déploiement (création d'exécutable, de bibliothèque, génération multiple, etc.). Remarque : Le répertoire des codes compilés de l'application est créé dans un sous-répertoire "<Nom_Projet>.cpl" du répertoire de compilation. Ce répertoire des codes compilés contient les fichiers des codes compilés de chaque élément du projet : fenêtres, états, requêtes, etc. Afficher les erreurs de compilation relatives au système Linux : Permet d'indiquer que le projet va être déployé sous Linux. Les erreurs de compilation spécifiques à une utilisation sous Linux sont affichées. Afficher les erreurs de compilation relatives aux sessions prélancées : Si votre projet utilise des sessions prélancées, certaines fonctions ne peuvent plus être utilisées lors de l'initialisation du projet. Cette option permet de connaître les problèmes potentiels lors de l'utilisation des sessions prélancées. Pour plus de détails, consultez Les sessions prélancées. WLangage navigateur : Permet de choisir le framework navigateur utilisé pour le projet. A partir de la version 22, WEBDEV propose un nouveau framework WLangage pour le code navigateur. Cette nouvelle version offre un comportement beaucoup plus proche du code serveur et complète largement les fonctionnalités du code navigateur. Important : pour utiliser le nouveau framework WLangage, la norme de génération des pages doit être définie en "HTML 5".
Erreurs d'UI Les erreurs de compilation d'UI vous informent à chaque sauvegarde de fenêtre, de page, d'état ou à chaque recompilation du projet des problèmes potentiels détectés sur vos interfaces. Par défaut, les erreurs de compilation d'UI sont activées pour chaque nouveau projet créé (option "Activer la compilation d'UI" cochée). Le bouton "Editer les langues" permet de choisir les langues du projet qui seront prises en compte par la compilation d'UI. Compilation multi-configuration Si l'option "Activer la compilation multi-configuration (par utilisateur)" est cochée, toutes les configurations du projet seront systématiquement compilées. Ainsi, les éventuelles erreurs de compilation dans une configuration donnée apparaissent immédiatement. Cette option est très utile par exemple pour un projet WINDEV Mobile disponible sous Android et iPhone/iPad. Rappel : le projet est compilé à chaque retour de ligne dans l'éditeur de code, à chaque sauvegarde (Ctrl + S), etc. Norme de programmation Ces options permettent de définir une norme de programmation. Les "erreurs" de norme de programmation signalent les lignes de code ne respectant pas cette norme. Ces erreurs sont affichées dans le volet "Erreurs de compilation". Les options disponibles sont : - Syntaxe classique ou préfixée : Il est possible de :
- Autoriser les mélanges : dans ce cas, aucune erreur de norme de programmation ne sera affichée.
- Signaler les syntaxes préfixées : Une erreur de norme de programmation sera affichée en cas d'utilisation d'une syntaxe préfixée ("ChampListe.Ajoute" par exemple).
- Signaler les syntaxes classiques : Une erreur de norme de programmation sera affichée si une syntaxe classique ayant son équivalent en syntaxe préfixée est utilisée.
- Signaler les mélanges de code métier et de code UI : Si cette option est cochée, les erreurs de mélange de code sont activées sur tous les éléments du projet. Pour plus de détails, consultez Découpage code Métier / UI.
- Signaler les utilisations de threads non sécurisés : Si cette option est cochée, les threads non sécurisés seront signalés. Pour plus de détails, consultez Thread (Type de variable).
- Signaler les fonctions du WLangage conservées pour compatibilité : Si cette option est cochée, les fonctions WLangage conservées uniquement par compatibilité sont indiquées dans les erreurs de norme de programmation (par exemple, la fonction ArbreTri).
Rappel : Les fonctions conservées par compatibilité peuvent ne plus être supportées dans une prochaine version. Il est conseillé d'utiliser la nouvelle fonction correspondante. - Signaler les messages multilingues partagés : Si cette option est cochée, il est possible d'identifier rapidement les messages multilingues partagés grâce à une erreur de compilation. Cette option doit être utilisée dans le cadre de la conversion des messages multilingues au format 27 et supérieur. Pour plus de détails, consultez Traduction des messages de programmation.
Ces options peuvent être surchargées au niveau des composants internes, des fenêtres, des pages et des états. Pour plus de détails, consultez Erreurs de norme de programmation. Options de compilation Les options de compilation disponibles sont les suivantes : - Erreur de compilation sur les identificateurs inconnus
Permet de définir si une erreur de compilation est affichée lorsque le compilateur rencontre un identificateur (nom de fenêtre, de champ, ...) inconnu. - Erreur de compilation sur les éléments hors configuration
Lorsque cette option est active, une erreur de compilation apparaît lors de l'utilisation dans le code lié à une configuration d'éléments hors configuration. L'instruction de compilation <COMPILE SI> permet de gérer la compilation du code selon les plateformes et les types de configuration. - Portée des variables locales limitée au bloc courant
Si cette option est sélectionnée, les variables locales sont localisées au bloc. Il n'est pas possible d'utiliser une variable locale à l'extérieur du bloc dans lequel elle est déclarée. La terminaison de la variable est exécutée à la fin du bloc (destructeurs et libération mémoire). Il est possible de redéclarer une variable de même nom dans deux sous-blocs distincts mais il n'est pas possible de redéclarer une variable de même nom dans un sous-bloc fils.
![Android Android](https://doc.pcsoft.fr/ext/images/fr/ANDROID.png?385929803) ![Widget Android Widget Android](https://doc.pcsoft.fr/ext/images/fr/ANDROIDWIDGET.png?2017201516) Si cette option est activée, la déclaration de procédures internes utilisant des variables "avec limitation de portée" entraînera une erreur de génération. Exemple : - le code suivant provoque une erreur de compilation :
PROCÉDURE MaProcedure()
SI MaCondition ALORS
str est une chaîne
PROCÉDURE INTERNE ma_proc_interne()
str = "truc"
FIN
FIN
- Pour corriger ce code, il est nécessaire de ne pas déclarer la variable dans l'instruction SI :
PROCÉDURE MaProcedure()
str est une chaîne
SI MaCondition ALORS
PROCÉDURE INTERNE ma_proc_interne()
str = "truc"
FIN
FIN
En Java et Android, il est recommandé de toujours déclarer les procédures internes dans la portée de la procédure elle-même. Ainsi, si des variables non déclarées sont utilisées, des erreurs de compilation seront affichées. - Autoriser "[% %]" dans les chaînes :
Cette option permet d'autoriser la saisie directe d'un nom de variable dans une chaîne de caractères (également appelée "construction dynamique des chaînes"). Il suffit d'utiliser la syntaxe suivante : Par exemple :
SI OuiNon(Oui, "Confirmez-vous la création du client [%sNomClient%]") = Non ALORS
RETOUR
FIN
Attention : l'utilisation de cette option peut impliquer la modification du code pour certaines fonctions WLangage utilisant déjà les caractères "[% %]" dans leurs paramètres. Dans ce cas, pour ne pas interpréter les caractères "[% %]", il est nécessaire de les faire précéder par "-%". Exemple :
grBulle(GR_Echéance, grFormatBulle, "[%CATEGORIE%]" + RC + RC+ "[%VALEUR%]" + " H")
devientgrBulle(GR_Echéance, grFormatBulle, -%"[%CATEGORIE%]" + RC + RC + -%"[%VALEUR%]" + " H")
Pour plus de détails, consultez Interpolation de chaînes. - Autoriser les types nullables :
Permet d'activer les types nullables dans un projet WINDEV, WEBDEV ou WINDEV Mobile. L'activation des types nullables entraîne de nombreuses modifications dans la gestion du Null effectuée par votre projet. Pour plus de détails, consultez Gestion de la valeur NULL : Activation des types nullables. - Classes : préfixes ":" et "::" d'accès aux membres et aux méthodes facultatifs
Jusqu'à la version 14, les accès aux membres devaient être faits en utilisant les préfixes ":" et "::". Si cette option est cochée, ces préfixes ne sont plus nécessaires. - Classes : les méthodes de même nom sont automatiquement virtuelles.
Les méthodes de même nom dans des classes dérivées sont automatiquement virtuelles. Le mode "semi-virtuelle" qui assurait la compatibilité avec WINDEV 4 et 5 n'est plus disponible. Le mot-clé "virtuelle" n'a plus aucun effet. Il n'y a plus de warning sur les méthodes virtuelles en l'absence du mot-clé "virtuelle". - Tableaux : l'affectation copie le contenu
Lorsque cette option est active, les tableaux sont locaux par défaut, c'est-à -dire que l'opérateur '=' fait une copie du tableau. Le mot-clé "dynamique" permet de conserver ponctuellement la prise de référence à l'affectation. - Tableaux : accès protégé aux éléments passés en paramètre à une procédure
Cette option permet de protéger un élément de tableau passé en paramètre à une procédure. Il devient ainsi possible de modifier, supprimer ou ajouter des éléments dans le tableau depuis cette procédure. Remarque : Si cette option est sélectionnée, les accès au tableau peuvent être légèrement ralentis. - Optimisation : Activer l'extension inline :
Cette option permet d'accélérer l'exécution du code de l'application. Le compilateur remplace automatiquement l'appel d'une procédure par son code lorsque c'est possible. La taille globale du code peut être augmentée, au profit d'appels plus rapides des procédures. - Optimisation : évaluation optimisée des expressions booléennes (ET, OU, DANS) :
Cette option permet de modifier le comportement historique des expressions booléennes : - Si cette option est cochée, les opérateurs logiques fonctionneront de manière optimisée par défaut : Si la première partie de l'expression déterminant, la seconde partie n'est pas évaluée. Cette option est cochée par défaut dans les nouveaux projets à partir de la version 2024.
- Si cette option n'est pas cochée, le fonctionnement historique est conservé : tous les éléments de l'expression sont évalués. Pour obtenir un comportement optimisé, il est nécessaire d'utiliser les opérateurs _ET_, _OU_, _DANS_.
Pour plus de détails, consultez Opérateurs logiques. - "Nommage des sources de données" :
- "Nom de la variable" :
Les variables de type "Source de données" créent une source de donnée utilisant le nom de la variable. Cela peut poser un problème dans les cas suivants : - utilisation de tableaux de sources de données
- utilisation de sources de données en tant que membres de classe.
- lorsque deux fenêtres utilisent la même variable de type Source de données.
- "Nom automatique" :
Les variables de type "Source de données" utilisent un nom unique pour la source de données. Attention : les guillemets doivent être supprimés pour manipuler la source de données. Il ne faut plus écrire :
M1 est une Source de Données HLitPremier("M1") mais M1 est une Source de Données HLitPremier(M1) - "Nom automatique avec références" :
Les variables de type "Source de données" utilisent un nom unique pour la source de données. Il devient possible de référencer une source de données existante, par exemple en utilisant la syntaxe suivante :
x est une Source de Données x = NomFichier x = NomRequête La valeur NULL est gérée.
L'option "Nom automatique avec références" n'est pas disponible.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|