ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Reflection functions
  • Récupération de la définition
  • Limites
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
Récupère la définition du type de l'élément.
Exemple
PROCÉDURE Proc(x)
// Récupère la définition du type de x
MaDéfinition est une Définition
MaDéfinition = RécupèreDéfinition(x)
Syntaxe
<Résultat> = RécupèreDéfinition(<Elément>)
<Résultat> : Définition
Variable de type Définition.
<Elément> : Variable ou membre de classe
Elément pour lequel la définition doit être récupérée.
Remarques

Récupération de la définition

La fonction RécupèreDéfinition permet de récupérer la définition du type du contenu et non pas la définition du type de la variable elle-même.
Exemple :
Si deux classes "ClasseDérivée" et "ClasseBase" dérivent l'une de l'autre. Si les instances de "ClasseDérivée" et "ClasseBase" sont manipulées par une variable de type "ClasseBase dynamique", la fonction RécupèreDéfinition renvoie la définition de la classe réelle de l'instance.
po est ClasseBase dynamique
d est une Définition
 
po = allouer un ClasseBase
d = RécupèreDéfinition(po)
Trace(d.Nom)
 
po = allouer un ClasseDérivée
d = RécupèreDéfinition(po)
Trace(d.Nom)
Si le type de l'élément n'est pas géré, la fonction RécupèreDéfinition renvoie une définition Null accompagnée de l'erreur non fatale "Définition invalide".
Si l'élément n'est pas alloué, la fonction RécupèreDéfinition renvoie une définition Null accompagnée de l'erreur non fatale "Elément pas alloué".
Il est possible de traiter les cas d'erreur :
  • soit en comparant la description obtenue à Null.
  • soit en testant la valeur de la variable ErreurDétectée.
Les types d'éléments gérés sont :
  • les variables et les membres de type natif
  • les variables et les membres de type avancé
  • les variables et les membres de type classe
  • les variables et les membres de type structure
Les types d'éléments non gérés sont :
  • les variables et les membres de type .NET
  • les fenêtres, états, pages, champs, ...
  • les fichiers HFSQL, les requêtes, les rubriques, ...

Limites

  • Dans un projet, il n'est pas possible de récupérer la définition d'une instance provenant :
    • d'un composant externe.
    • d'un composant interne.
  • Dans un composant externe, il n'est pas possible de récupérer la définition d'une instance provenant du projet hôte.
Composante : wd290vm.dll
Minimum version required
  • Version 16
Comments
Click [Add] to post a comment

Last update: 05/25/2022

Send a report | Local help