Friend Function

Résolu
NeriXs
Messages postés
116
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
18 août 2020
- 15 juin 2015 à 20:12
NeriXs
Messages postés
116
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
18 août 2020
- 17 juin 2015 à 22:08
Bonjour,

Pourriez-vous m'expliquer quel contexte fait qu'une fonction peut être déclarée comme "Friend" ?

il semble que ce soit en quelque sorte pour en limiter l'accès ! Mais, ce n'est pas très claire.

8 réponses

NHenry
Messages postés
14943
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
161
15 juin 2015 à 20:36
en VB6 l'usage de l'accès Friend à une méthode est réservée aux modules de classes.
Cela permet de dire "publique, mais uniquement dans le projet".
Cela permet entre autre de pouvoir déclarer une méthode d'une classe comme pouvant prendre en paramètre une structure déclarée dans un module (de base).
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
15 juin 2015 à 20:40
Bonjour,
Il me semble que l'aide VB6 est parfaitement claire en ce qui concerne ce point.
Que n'en comprends-tu donc pas, exactement ?
En te rappelant qu'une déclaration Frien ne peut être faite qu'au sein d'un module de classe.
De mon aide (version anglaise) ===>>
Optional. Used only in a class module. Indicates that the Function procedure is visible throughout the project, but not visible to a controller of an instance of an object.

Clair, en ce qui me concerne !
0
NeriXs
Messages postés
116
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
18 août 2020

15 juin 2015 à 21:09
Si l'explication comme le dit ucfoutu est claire, la mise en ouvre l'est moins!
La deuxième partie de réponse de NHenry:
"Cela permet entre autre de pouvoir déclarer une méthode d'une classe comme pouvant prendre en paramètre une structure déclarée dans un module (de base)"
apporte un petit plus mais, j'ai du mal a projeter un cas de figure nécessitant sont utilisation.
0
NeriXs
Messages postés
116
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
18 août 2020

15 juin 2015 à 21:13
j'aurais utilisé une déclaration "public" si je n'étais pas tombé dessus !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Modifié par ucfoutu le 16/06/2015 à 01:22
exemple commenté (de l'aide de VB) :
Friend, exemple
Lorsqu'il est placé dans un module de classe, le code suivant met la variable membre dblBalance à la disposition de tous les utilisateurs de la classe du projet. Tout utilisateur de la classe peut récupérer cette valeur ; seul le code situé à l'intérieur du projet peut affecter une valeur à cette variable.

Private dblBalance As Double

Public Property Get Balance() As Double
Balance = dblBalance
End Property

Friend Property Let Balance(dblNewBalance As Double)
dblBalance = dblNewBalance
End Property


Cette variable échappera donc au contrôle exercé, dans un groupe de projets, depuis un projet autre que celui qui utilise cette classe.


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
NeriXs
Messages postés
116
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
18 août 2020

16 juin 2015 à 06:47
OK, merci pour ce complément!
A propos de l'aide VB!
Celle-ci est elle encore trouvable?
Je n'ai rien sur mon CD "VB6 entreprise".
0
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Modifié par ucfoutu le 16/06/2015 à 06:57
Si tu n'as "rien sur ton CD VB6 Entreprise", c'est qu'il est probablement "tombé du camion" (hé hé) ou que tu n'as pas chargé l'aide (MSDN) au moment de l'installation de VB6 (en te signalant que VB6 est distribué en 2 CD et non un seul)
S'il est "tombé du camion", utilise Google : ===>> recherche avec MSDN VB6 ===>> tu y trouveras des sites (je ne veux en "cautionner" aucun) qui proposent le téléchargement gratuit de cette MSDN (sans laquelle nul, même parmi les plus avancés, ne saurait valablement développer).

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
NeriXs
Messages postés
116
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
18 août 2020

17 juin 2015 à 22:08
Bonjour,

4 CD"s" en tout!
1 CD = Visual Studio entreprise 6.0.
2 CD = MSDN Library
1 CD = Mastering

1 BooK

Le tous officiel avec licences :)

facture du 03/04/1997 Déjà !!!!

C'est tous bon pour l'aide merci.
0