Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous et bonne année 2017,
Y a t-il quelqu'un qui connait les instructions pour connaître la structure des classes ?
Par exemple, savoir le nombre de routines que possède une classe, ses propriétés, son ancêtre, etc ...
Il s'agit donc de méta analyse de la structure même des composants de PowerBuilder.
A priori, je sais que cela existe car je l'ai déjà rencontré une fois mais impossible de m'en souvenir.
Alors si quelqu'un sait des chose sur cet aspect, merci.
Dernière modification par Dadone (05-01-2017 14:01:11)
Hors ligne
Hello,
Il faut partir du ClassDefinition qui est accessible sur tout objet, de là tu auras accès à tout ce que tu veux normalement.
Voici un exemple d'utilisation pour vérifier qu'un object contient une méthode (sans vérification du prototype) :
Fonction globale:
global type hasmethod from function_object end type forward prototypes global function boolean hasmethod (string as_method, powerobject apo_object) end prototypes global function boolean hasmethod (string as_method, powerobject apo_object);if isnull( apo_object ) or not isvalid( apo_object ) then return false classdefinition lcd_obj lcd_obj = apo_object.classdefinition ScriptDefinition ls_ScriptList[ ] long i ls_ScriptList[] = lcd_obj.ScriptList[] as_method = lower( as_method ) for i = 1 to upperbound (ls_ScriptList[]) if lower(ls_ScriptList[i].name) = as_method then return true end if next return false end function
Hors ligne
Merci pour la réponse c'est exactement ce que je cherchais.
Dernière modification par Dadone (05-01-2017 14:04:15)
Hors ligne