DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Syntaxe WLangage / Mots-clés réservés
  • Attributs d'extension divers
  • Attributs d'extension spécifiques à la POO et au MVP
  • Attributs d'extension spécifiques aux variables
  • Attributs d'extension spécifiques aux procédures locales/globales ou internes
  • Attributs d'extension de gestion des timers
  • Attributs d'extension de gestion des threads
  • Remarque
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Les attributs d'extension sont des instructions WLangage particulières qui permettent d'ajouter des propriétés ou des fonctionnalités spécifiques à des variables ou à des procédures. Ces attributs d'extension permettent de simplifier le code et de faciliter la maintenance de vos applications.
WINDEV, WEBDEV et WINDEV Mobile proposent de nombreux attributs d'extension. Cette page présente les différents attributs d'extension disponibles regroupés par thème.
Les catégories des attributs d'extension sont les suivantes :
Pour simplifier la saisie des attributs d'extension, l'éditeur de code propose automatiquement la liste des attributs d'extension disponibles lors de la frappe de la touche "<". Pour plus de détails, consultez Complétion automatique.
Attributs d'extension divers
Les attributs d'extension divers sont les suivants :
C#Permet de définir une procédure WLangage appelable via un code C#.
Pour plus de détails, consultez C# : Appel de procédure WLangage.
WEBDEV - Code ServeurUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple WatchJava Non disponible
IHM / UIPermet dans un code ou un traitement contenant à la fois du code UI et du code Métier d'indiquer l'utilisation de la variable ou de la procédure.
Pour plus de détails, consultez Découpage code Métier/UI.
JavaPermet de définir une procédure WLangage appelable via un code Java.
Pour plus de détails, consultez Android et Java : appel de procédures WLangage.
AndroidWidget AndroidJava Disponible uniquement sous Java, Android et Widget Android.
MétierPermet dans un code ou un traitement contenant à la fois du code UI et du code Métier d'indiquer l'utilisation de la variable ou de la procédure.
Pour plus de détails, consultez Découpage code Métier/UI.
ObjCPermet de définir une procédure WLangage appelable via un code Objective C.
Pour plus de détails, consultez Objective C : Appel d'une procédure WLangage.
iPhone/iPad Disponible uniquement sous iOS.
synchronisé navigateurPermet de rendre disponible une variable globale serveur côté navigateur. Le contenu est synchronisé.
La valeur affectée à une variable globale "synchronisée navigateur" dans un code serveur est récupérée dans un code navigateur exécuté par la suite.
La valeur affectée à une variable globale dans un code navigateur est récupérée à la prochaine exécution d'un code serveur.
Limite : Afin d'éviter des écrasements, les modifications sont synchronisées uniquement :
Attention : La synchronisation des modifications n'est donc pas effectuée pour le code serveur d'un champ Upload ou d'un champ Image cliquable car ces traitements n'envoient pas la valeur des champs au serveur.
L'utilisation de cet attribut d'extension nécessite d'utiliser le framework V2 du code navigateur.
xmlAttributPermet d'indiquer que le membre est créé en tant qu'attribut (et non balise).
Pour plus de détails, consultez Sérialise.
AndroidWidget AndroidJava Non disponible
Attributs d'extension spécifiques à la POO et au MVP
Les attributs d'extension spécifiques à la POO et au MVP sont les suivants :
SérialisePermet de gérer la sérialisation de chaque membre d'une classe ou d'une structure.
Pour plus de détails, consultez :
sans pas à pasPermet d'indiquer qu'une méthode sera ignorée par le débogueur lors d'un débogage en mode "Pas à pas".
Pour plus de détails, consultez l'aide sur comment déclarer des Classes, membres, méthodes et propriétés
Nouveauté 2024
immuable
Permet d'indiquer qu'une méthode (ou toutes les méthodes d'une classe) est immuable : lorsque sa valeur est définie, elle ne pourra pas changer.
Pour plus de détails, consultez l'aide sur comment déclarer des Classes, membres, méthodes et propriétés
présentationPermet d'associer une classe de la couche présentation à une vue (fenêtre ou état).
Pour plus de détails, consultez RAD MVP.
WEBDEV - Code ServeurUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple WatchJava Non disponible
mappingPermet de spécifier le nom du membre à "mapper" au membre de la structure ou de la classe.
Pour plus de détails, consultez :
associéPermet d'accéder aux membres, aux méthodes et aux propriétés d'une classe Modèle depuis sa classe Présentation sans avoir à effectuer de "rebonds".
Pour plus de détails, consultez RAD MVP.
copiePermet d'indiquer l'opération à effectuer lors d'une copie d'une instance d'un objet.
  • <Copie=Clone> : utilisé sur un objet dynamique, cet attribut d'extension permet de forcer le clonage de l'objet.
  • <Copie=Faux> : utilisé sur un membre, cet attribut d'extension permet d'empêcher la copie de la valeur du membre lors de la copie d'un objet dans un autre.
Pour plus de détails, consultez Copie et clonage.
force destructeurPermet de forcer l'appel du destructeur (libérer l'objet) même si une référence forte a été prise sur cet objet.
Pour plus de détails, consultez Gestion avancée des instances de classes.
faiblePermet d'indiquer une prise de référence faible. Dans ce cas, les objets seront libérés automatiquement selon leur portée (même si une référence globale a été prise sur ces objets). La référence faible doit être indiquée lors de l'instanciation dynamique de l'objet prenant référence.
Pour plus de détails, consultez Gestion avancée des instances de classes.
notePermet d'indiquer un commentaire sur un membre de classe (<note=Commentaire sur le membre>). Le contenu de cette note pourra être connu par la propriété AttributNote d'une Description de variable.
Rappel : Le type Description de Variable permet d'obtenir des informations sur un membre de classe ou de structure.
Pour plus de détails, consultez Description de variable.
Attributs d'extension spécifiques aux variables
Les attributs d'extension spécifiques aux variables sont les suivants :
ContrôleurPermet dans le code d'un script de test d'indiquer qu'une variable est de type contrôleur. Cette variable de type contrôleur peut alors être utilisée dans le code du test par exemple pour vérifier le résultat d'une procédure.
Pour plus de détails, consultez Gestionnaire de tests automatiques.
indétectablePermet d'obfusquer automatiquement le contenu de la chaîne en mémoire.
Pour plus de détails, consultez Chaînes de caractères.
Nouveauté 2024
immuable
Permet d'indiquer que la variable est immuable, c'est-à-dire que sa valeur ne changera pas une fois assignée
Pour plus de détails, consultez Déclaration et utilisation d'une variable.
section critiquePermet d'associer une section critique à une variable.
Pour plus de détails, consultez Gérer les sections critiques.
synchronisé navigateurPermet de synchroniser une variable globale au projet afin de la rendre disponible coté navigateur. Dans ce cas la valeur affectée à une variable globale dans un code navigateur, peut être récupérée par la suite dans un code serveur.
Pour plus de détails, consultez Variables globales et locales.
serveur uniquementPermet de protéger une variable globale au projet afin de ne pas la rendre disponible coté navigateur.
Pour plus de détails, consultez Variables globales et locales.
utilePermet d'éviter un warning lorsqu'une variable locale est inutilisée.
Pour plus de détails, consultez Déclaration et utilisation d'une variable.
zombiePermet d'indiquer qu'une variable ou une procédure est obsolète et ne doit plus être utilisée.
Pour plus de détails, consultez l'aide sur comment déclarer une Variable globale et locale.
Attributs d'extension spécifiques aux procédures locales/globales ou internes
Les attributs d'extension spécifiques aux procédures locales, globales ou internes sont les suivants :
nom d'étatPermet d'utiliser le nom d'un état du projet directement dans les paramètres d'une procédure.
Pour plus de détails, consultez Passage de paramètres.
nom de fenêtrePermet d'utiliser le nom d'une fenêtre du projet directement dans les paramètres d'une procédure.
Pour plus de détails, consultez Passage de paramètres.
nom de pagePermet d'utiliser le nom d'une page du projet directement dans les paramètres d'une procédure.
Pour plus de détails, consultez Passage de paramètres.
automatiquePermet d'indiquer que cette procédure sera exécutée automatiquement après le code d'initialisation (de la fenêtre, de la page ou du projet).
Pour plus de détails, consultez Déclarer une procédure/une fonction.
fin traitementPermet d'indiquer que cette procédure sera exécutée lorsque le traitement contenant l'appel de la procédure sera fini.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
fin évènementPermet d'indiquer que cette procédure sera exécutée lorsque l'événement contenant l'appel de la procédure sera fini.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
zombiePermet d'indiquer qu'une variable ou une procédure est obsolète et ne doit plus être utilisée.
Pour plus de détails, consultez Procédures zombies.
utilePermet d'éviter un warning lorsqu'une procédure déclare certains paramètres qui ne sont pas immédiatement utilisés.
Pour plus de détails, consultez Paramètres utiles d'une procédure.
sans pas à pasPermet d'indiquer qu'une procédure sera ignorée par le débogueur lors d'un débogage en mode "Pas à pas".
Pour plus de détails, consultez l'aide sur comment Déclarer une procédure/une fonction.
extensionPermet d'indiquer qu'une procédure globale manipulant un type WLangage peut être utilisée en tant que fonction native.
Pour plus de détails, consultez Procédure d'extension.
Attributs d'extension de gestion des timers
Les attributs d'extension spécifiques à la gestion des timers sont les suivants :
timerPermet d'indiquer que la procédure sera exécutée dans un Timer.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
répétitionPermet d'indiquer que la procédure est appelée plusieurs fois d'affilée (répétitions).
Pour plus de détails, consultez Déclarer une procédure/une fonction.
intervallePermet d'indiquer la durée (intervalle de temps) entre 2 appels de la procédure.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
rappelPermet d'indiquer, dans une procédure appelée dans un Timer, le mode de fonctionnement des appels ultérieurs.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
délaiPermet d'indiquer dans un Timer (lors du premier appel) le délai d'attente avant le démarrage de la procédure.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
Attributs d'extension de gestion des threads
Les attributs d'extension spécifiques à la gestion des threads sont les suivants :
threadPermet d'indiquer que la procédure sera exécutée dans un thread secondaire.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
thread principalPermet d'indiquer que la procédure sera exécutée dans le thread principal.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
thread principal asynchronePermet d'indiquer que la procédure sera exécutée dans le thread principal sans attendre la fin de l'exécution de la procédure.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
thread sécuriséPermet d'indiquer que la procédure sera exécutée dans le thread secondaire sécurisé.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
contexte HFSQL légerProvoque la copie immédiate d'une partie du contexte HFSQL courant.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
contexte HFSQL completProvoque la copie immédiate du contexte HFSQL courant.
Pour plus de détails, consultez Déclarer une procédure/une fonction.
Remarque
Selon le type de déclaration et d'objet utilisé, il est possible de combiner plusieurs attributs d'extension à l'aide de la syntaxe:
Déclaration de mon objet <Nom Attribut 1=valeur1, Nom Attribut 2=valeur2, ...>

Par exemple, dans le cas d'une déclaration d'une variable de type buffer:
Classe
m_buffer est un Buffer <sérialise=faux,mapping="MémoImage">
FIN
Version minimum requise
  • Version 15
Documentation également disponible pour…
Commentaires
Attribut <thread sécurisé>
Lorsque l'on utilise l'attribut <thread sécurisé> on ne peut pas l'associer avec les attributs "contexte HFSQL"
Lolo83
23 mar. 2021

Dernière modification : 25/09/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale