property is used to get the actual type of the class instance handled by an object, variant or dynamic object variable.
When used on advanced types (gglxxx, rssxxx or xlsxxx variables), the Class property gets the type of variable.
// Declare the base class named CBase
CBase is Class
// Declare the sub-class named CSub
CSub is Class
inherits from CBase
// allocate a dynamic object of BaseC type
po is object dynamic = new CBase
// the real type of the dynamic object is CBase:
// the trace displays the "CBase" string
// allocate a dynamic object of CSub type
po is object dynamic = new CSub
// the real type of the dynamic object is CSub:
// the trace displays the " CSub " string
Finding out the type of the class instance Hide the details
<Result> = <Variable used>..Class
<Result>: Character string
- Class name,
- Empty string ("") if the dynamic object is not allocated.
<Variable used>: Variable name
Name of the object, dynamic object or variant variable to be used.
Comparing the instance of a class
The instance of a class can be directly compared to the name of the class (without using quotes).
IF po..Class = Class1 THEN ...
CASE Class1: ...
CASE Class2: ...
Finding out the type of an advanced variable
When used on an advanced type, the Class property gets the type of variable. The name of the type is returned in the language of the runtime framework (in French for a French version, in English for an international version).
To make sure the code to is compatible between the French and the international versions, directly compare the result of the Class property with the desired type . For example:
IF v..Class = Border THEN