Recuperando el Definition
La función GetDefinition permite obtener la definición del tipo de contenido, y no la definición del tipo de la variable.
Ejemplo:
Si dos clases "DerivedClasse" y "BaseClass" derivan la una de la otra. Si las instancias de "DerivedClass" y "BaseClass" se manipulan con una variable de tipo "dynamic BaseClass", la función GetDefinition devuelve la definición de la clase real de la instancia.
po is dynamic BaseClass
d is Definition
po = new BaseClass
d = GetDefinition(po)
Trace(d.Name)
po = new DerivedClass
d = GetDefinition(po)
Trace(d.Name)
Si el tipo de elemento no está soportado, GetDefinition devuelve un Definition nulo con un Error("Invalid Definition").
Si el elemento no está asignado, GetDefinition devuelve una definición nula con un Error( no fatal "Elemento no asignado").
Se pueden procesar los casos de error:
- comparando el description con el Null.
- comprobando el valor de la ErrorOccurred variable.
Se soportan los siguientes tipos de elementos:
- variables y miembros nativos
- variables y miembros avanzados
- variables y miembros de la clase de tipo
- variables y miembros del tipo estructura
No se soportan los siguientes tipos de elementos:
- variables y miembros de tipo .NET
- ventanas, informes, páginas, controles, etc.
- Archivos HFSQL, consultas, artículos, etc.