Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Utilisation de "Friend"


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Inscrit en
    mai 2009
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : mai 2009
    Messages : 233
    Points : 71
    Points
    71
    Par défaut Utilisation de "Friend"
    Bonsoir à tous.

    Désolé, je vais sans doute paraître bien ringard, mais je me lance dans la programmation d'objets en VB6 (défense de rire !)

    Mon projet (essentiellement didactique) a pour but de faire un objet "Ini" à partir d'un fichier ".ini", constitué d'une série de "sections", chaque section contenant une série de "variables" (j'ai vu, un jour, en parcourant je ne sais plus quel forum, qu'il existait un truc du genre, mais c'est mon projet "pour apprendre").

    J'ai donc fait un nouveau projet dans lequel j'ai déclaré divers modules de classe : chacun définit un objet, l'objet principal contenant une collection de sections, chaque section ayant un nom et contenant une collection de variables, et chaque variable étant définie par un nom et une valeur.

    Je suis content d'avoir réussi à faire ce que je voulais, mais, au moment de structurer mon code de façon à pouvoir le réutiliser dans d'autres programmes (c'est à ça que servent les objets), je tombe sur un bec : il y a une ou deux routines que j'utilise dans plusieurs modules de classe : je les ai déclarées "public" dans un module simple de mon projet, mais je voudrais que ce module disparaisse. J'ai donc tenté de les transférer dans le module de classe principal de mon projet, et les déclarant "Friend" (j'ai lu la doc...). Eh bien ça ne marche pas.

    Merci à ceux qui voudront bien tenter de m'expliquer ce que j'ai manqué.

    AMIcalement.

  2. #2
    Membre régulier
    Inscrit en
    mai 2009
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : mai 2009
    Messages : 233
    Points : 71
    Points
    71
    Par défaut
    Bon, personne ne répond...

    Je tente de présenter le problème autrement : mon projet comprend plusieurs modules de classe, puisque je veux définir un objet contenant plusieurs objets "imbriqués".*

    Or, pour mes traitements, j'ai deux fonctions tout à fait classiques que j'appelle depuis plusieurs de ces modules de classe. Pour la réalisation du projet, j'ai placé ces fonctions dans un module standard, en les déclarant "Public", ça marche parfaitement.

    Mais, pour pouvoir réutiliser cet objet, j'aurais souhaiter faire l'économie de ce module "standard". J'ai donc tenté de mettre ces fonctions dans le code du module de classe de l'objet parent, en les déclarant "Friend". Mais ça ne marche pas : lorsqu'elles sont appelées depuis d'autres modules de classe, j'ai le message "Procédure Sub ou Function non définie".

    Je demande au groupe si cela est normal, car cela me semble en contradiction avec ce qu'on peut lire dans la doc (par exemple en cliquant dans "Friend", puis "F1"). Mais je dois reconnaitre que le texte qu'on obtient alors est assez obscure...

    En espérant m'être mieux fait comprendre

    AMIcalement;

Discussions similaires

  1. [MySQL] Pourquoi dois-je utiliser des "quotes penchées" dans mes requêtes?
    Par v4np13 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/03/2008, 00h23
  2. utilisation des quotes
    Par Henry9 dans le forum Oracle
    Réponses: 1
    Dernier message: 13/11/2006, 22h40
  3. [AJAX] Utilisation des quotes
    Par illegalsene dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/10/2006, 10h23
  4. utilisation justifiée de "friend" ?
    Par isidore dans le forum C++
    Réponses: 5
    Dernier message: 08/06/2005, 22h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo