La propriété
Classe permet de connaître le type réel de l'instance de classe manipulée par une variable de type objet, variant ou de type objet dynamique.
Sur les types avancés (variables de type gglxxx, rssxxx, xlsxxx, ...), la propriété Classe permet de connaître le type de la variable.
// Déclaration de la classe de base CBase
CBase est une Classe
FIN
// Déclaration de la classe dérivée CDérive
CDérive est une Classe
hérite de CBase
FIN
// allocation d'un objet dynamique de type CBase
po est un objet dynamique = allouer un CBase
// le type réel de l'objet dynamique est CBase :
// la trace affiche la chaîne "CBase"
Trace(po..Classe)
// allocation d'un objet dynamique de type CDerive
po est un objet dynamique = allouer un CDerive
// le type réel de l'objet dynamique est CDerive :
// la trace affiche la chaîne " CDerive "
Trace(po..Classe)
Syntaxe
Connaître le type de l'instance de classe Masquer les détails
<Résultat> = <Variable manipulée>..Classe
<Résultat> : Chaîne de caractères
- Nom de la classe,
- Chaîne vide ("") si l'objet dynamique n'est pas alloué.
<Variable manipulée> : Nom de variable
Nom de la variable de type objet, objet dynamique ou variant à manipuler.
Remarques
Comparer l'instance d'une classe
Il est possible de comparer l'instance d'une classe directement au nom de la classe (sans utiliser des guillemets).
Par exemple :
SI po..Classe = Classe1 ALORS ...
Autre exemple :
SELON po..Classe
CAS Classe1 : ...
CAS Classe2 : ...
FIN
Connaître le type d'une variable de type avancé
La propriété
Classe utilisée sur une variable de type avancé permet de connaître le type de la variable. Le nom du type est renvoyé dans la langue du framework d'exécution (en Français dans une version française, en Anglais dans une version internationale).
Pour assurer un code compatible entre les versions françaises et internationales, il est conseillé de comparer directement le résultat de la propriété
Classe au type voulu (sans les guillemets). Par exemple :
SI v..Classe = Cadre ALORS
...
FIN
SELON v..Classe
CAS Cadre :
...
CAS xlsLigne :
FIN