IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

MFC Discussion :

[MFC] objet commun a plusieurs classes


Sujet :

MFC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Points : 14
    Points
    14
    Par défaut [MFC] objet commun a plusieurs classes
    Salut. Voila mon probleme, je suis dans une appli de type MDI. J'ai plusieurs classe, à savoir une classe CMainFrame, CChildFrame (les classes d'origine d'une MDI...) et deux classes perso CProjet et CFichier héritant de CProjet et cela afin de gérer la création d'un projet contenant des fichiers. Chose assez commune dans la gestion de projet. Mais je n'arrive pas à savoir ou il faut créer l'objet CProjet et les objets CFichiers afin de pouvoir y avoir accès dans toutes les méthodes des autres classes qui en ont besoins.

    Donc si quelqu'un à une petite idée de comment faire cela m'aiderai ennormement vu que je ne sais plus trop quoi essayer.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    soit cette classe fait partie de la classe d'application, et pour acceder a l'objet tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CmyApp *pApp=static_cast<CmyApp *>(AfxGetApp());
    pApp->m_Projet.myFunction(); //exemple bien sur
    soit tu utilises un singleton : une variable globale ne fournissant qu'une instance.
    voir ce post :
    http://www.developpez.net/forums/sho...240#post931240

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    A priori ca ma l'air pas mal la solution du singleton. Mais j'ai une question : si je veux fermé le projet en cours (menu fichier-> fermer projet) donc celui qui reférence l'unique objet singleton, et créer un nouveau projet, sans fermer l'appli bien sur, est ce que cela ne risque pas d' ecraser l'objet projet qui lui ne sera pas fermé avec le projet?
    Puisque si j'ai bien suivi l'objet singleton sera initialisé à l'ouverture de l'App??
    non?? ou j'ai rien compris ?

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    il sera initialisé au premier appel de GetInstance().
    la destructeur est a ta charge tu peux le detruire quand tu veux ...
    la variable de sera pas forcement dans la classe d'application
    par contre tu peux mettre la definition de ta classe singleton dans le meme .h que la classe d'application...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Ok Ba je vais essayer de creuser avec mon binome car on a des petites merde mais merci a toi pour le tuyau. Je vais voir commencer initialiser mon objet et comment par derriere faire de meme avec les fichier. Sachant que pour la classe fichier je ne peut pas faire de singleton puisque plusieurs objets fichiers pourront etre instancié dans le meme projet. Bon ya encore du boulot. Merci tout de meme @plus.

Discussions similaires

  1. [JUnit] Initialisation commune a plusieurs classes de test
    Par snipes dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 12/02/2012, 22h58
  2. objet partagé entre plusieurs classes
    Par grinder59 dans le forum C#
    Réponses: 16
    Dernier message: 13/05/2010, 16h07
  3. Réponses: 4
    Dernier message: 21/05/2006, 21h01
  4. Réponses: 3
    Dernier message: 22/11/2005, 11h12
  5. Objet commun a plusieur DLL
    Par petitcoucou31 dans le forum Langage
    Réponses: 2
    Dernier message: 10/12/2003, 22h07

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