Powerbuilder pour les completement Geeks !

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 10-05-2007 07:41:51

cradleofpain  
Membre Geek
Date d'inscription: 09-05-2007
Messages: 99
Pépites: 9
Banque: 9,860,255,032,773

[RESOLU] Les 3 types de fonction

Bonjour à tous !

J'aurai voulu savoir quelles sont les limitations d'utilisation selon le type de fonction :

public, private ou protected


Merci

Hors ligne

 

#2 10-05-2007 07:59:19

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Les 3 types de fonction

Les propriétés et les méthodes définies par l’utilisateur peuvent être déclarées avec différents droits d’accès :
·    Public (accessible par tout objet)
·    Protected (accessible par tous les objets dérivés)
·    Private (accessible uniquement au sein du même objet).

http://pbadonf.fr/forum/viewtopic.php?pid=184#p184


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 10-05-2007 08:04:40

cradleofpain  
Membre Geek
Date d'inscription: 09-05-2007
Messages: 99
Pépites: 9
Banque: 9,860,255,032,773

Re: [RESOLU] Les 3 types de fonction

Est-il possible de modifier le type d'accès d'une fonction une fois écrite ?

Par exemple si je la met en public et que je me rend compte qu'il faudrait qu'elle soit private.

Hors ligne

 

#4 10-05-2007 08:07:20

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Les 3 types de fonction

cradleofpain a écrit:

Est-il possible de modifier le type d'accès d'une fonction une fois écrite ?

Par exemple si je la met en public et que je me rend compte qu'il faudrait qu'elle soit private.

La modification en dynamique n'est pas possible.
Par contre, tu peux effectivement le faire au niveau de la déclaration après avoir fait une étude d'impact soigneuse:
Si tu passes de public à private une fonction appelée par un objet autre que celui qui la porte tu auras
des plantages


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#5 10-05-2007 08:31:06

cradleofpain  
Membre Geek
Date d'inscription: 09-05-2007
Messages: 99
Pépites: 9
Banque: 9,860,255,032,773

Re: [RESOLU] Les 3 types de fonction

J'ai trouvé !

Il fallait que je clique sur "Show/Hide Prototype" pour voir les caractéristiques de ma fonction.

A partir de là je peux modifier l'accès si je veux !

Hors ligne

 

#6 10-05-2007 08:34:29

cradleofpain  
Membre Geek
Date d'inscription: 09-05-2007
Messages: 99
Pépites: 9
Banque: 9,860,255,032,773

Re: [RESOLU] Les 3 types de fonction

Lorsque ma fonction est publique, pourquoi je ne la vois pas dans la liste des fonctions des autres objets ?

Hors ligne

 

#7 10-05-2007 09:05:26

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Les 3 types de fonction

Ta fonction étant liée à l'objet sur lequel tu l'as créée, il te faut invoquer cet objet pour accéder à ta fonction:

Code: pb

  MyObject.of_myfunction

Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#8 10-05-2007 09:08:01

cradleofpain  
Membre Geek
Date d'inscription: 09-05-2007
Messages: 99
Pépites: 9
Banque: 9,860,255,032,773

Re: [RESOLU] Les 3 types de fonction

Ma fonction est contenue dans une window.

C'est la window l'objet concerné ?

Hors ligne

 

#9 10-05-2007 09:10:24

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Les 3 types de fonction

Et oui... Au besoin, il te faudra "instancier" ta fenêtre pour pouvoir y accéder dans ton script...


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#10 10-05-2007 09:11:51

cradleofpain  
Membre Geek
Date d'inscription: 09-05-2007
Messages: 99
Pépites: 9
Banque: 9,860,255,032,773

Re: [RESOLU] Les 3 types de fonction

Mais donc dans les autres window, si on regarde function list, on ne peut pas voir cette fonction publique ?

Hors ligne

 

#11 10-05-2007 09:13:25

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: [RESOLU] Les 3 types de fonction

cradleofpain a écrit:

Mais donc dans les autres window, si on regarde function list, on ne peut pas voir cette fonction publique ?

non, tu ne peux pas voir... mais tu peux l'appeler...  (ca marche comme pour le téléphone...)


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#12 10-05-2007 09:14:54

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Les 3 types de fonction

Non, car elle est quand même liée à ta fenêtre.
Si tu veux y accéder partout dans l'application, il te faut créer une fonction globale qui ne sera liée à aucun objet. (attention, les fonctions globales ne sont à utiliser que dans des cas très particuliers)

Par contre, tu as possibilité d'utiliser l'option "autoscript" pour pouvoir visualiser rapidement toutes les fonctions, varaiables et méthodes d'un objet dans un script...


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#13 10-05-2007 09:17:39

cradleofpain  
Membre Geek
Date d'inscription: 09-05-2007
Messages: 99
Pépites: 9
Banque: 9,860,255,032,773

Re: [RESOLU] Les 3 types de fonction

Ok. Donc si je la laisse publique c'est pas bien grave.

C'est même plus tranquille au cas où j'aurais besoin de l'utiliser à un autre endroit dans mon appli.

Hors ligne

 

#14 10-05-2007 09:25:08

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2486
Pépites: 85
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Les 3 types de fonction

Oui, mais si elle est réellement très spécifique à ta fenêtre, tu as tout intérêt à la passer en private car tu n'auras pas l'occasion de l'appeler dans d'autres endroits de ton appli...


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#15 10-05-2007 09:27:35

cradleofpain  
Membre Geek
Date d'inscription: 09-05-2007
Messages: 99
Pépites: 9
Banque: 9,860,255,032,773

Re: [RESOLU] Les 3 types de fonction

Ok. Et bien merci à vous !

Vous pouvez signaler le problème comme résolu.

A+

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22