Friend Function [Résolu]

Signaler
Messages postés
115
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
15 novembre 2019
-
NeriXs
Messages postés
115
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
15 novembre 2019
-
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

Messages postés
14655
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
23 février 2020
139
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).
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
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 !
Messages postés
115
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
15 novembre 2019

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.
Messages postés
115
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
15 novembre 2019

j'aurais utilisé une déclaration "public" si je n'étais pas tombé dessus !!!
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
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.
Messages postés
115
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
15 novembre 2019

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".
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
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.
Messages postés
115
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
15 novembre 2019

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.