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, ...