Friend Function

Résolu
NeriXs Messages postés 258 Date d'inscription lundi 4 mai 2015 Statut Membre Dernière intervention 27 février 2024 - 15 juin 2015 à 20:12
NeriXs Messages postés 258 Date d'inscription lundi 4 mai 2015 Statut Membre Dernière intervention 27 février 2024 - 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.
A voir également:

8 réponses

NHenry Messages postés 15123 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 20 mai 2024 159
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 211
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 258 Date d'inscription lundi 4 mai 2015 Statut Membre Dernière intervention 27 février 2024 1
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 258 Date d'inscription lundi 4 mai 2015 Statut Membre Dernière intervention 27 février 2024 1
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 211
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 258 Date d'inscription lundi 4 mai 2015 Statut Membre Dernière intervention 27 février 2024 1
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 211
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 258 Date d'inscription lundi 4 mai 2015 Statut Membre Dernière intervention 27 février 2024 1
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
Rejoignez-nous