Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 05-01-2017 09:39:48

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 227
Pépites: 906
Banque: 0
Site web

[RESOLU]Analyse de la structure des classes

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 15:01:11)

Hors ligne

 

#2 05-01-2017 12:19:44

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 611
Pépites: 998
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU]Analyse de la structure des classes

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:

Code: pb

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

https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#3 05-01-2017 14:59:17

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 227
Pépites: 906
Banque: 0
Site web

Re: [RESOLU]Analyse de la structure des classes

Merci pour la réponse c'est exactement ce que je cherchais.

Dernière modification par Dadone (05-01-2017 15:04:15)

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22