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] où instancier mes classes?


Sujet :

MFC

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut [MFC] où instancier mes classes?
    C'est vraiment une question de pur débutant.

    J'ai suivi le tuto sur les MFC (non sans mal) et maintenant je me demande la chose suivante :

    où dois je instancier mes classes.

    Par exemple, je fais un agenda, j'ai un vecteur de clients dont la durée de vie est quasi equivalente à celle du programme. A mes tous debut je faisait ca dans mon Main() ou WinMain() (quand j'ai attaqué les API Windows). Mais maintenant je suis face à une structure qui s'etale sur plusieurs headers et .CPP qui s'incluent les uns et les autres, alors comme je sais que les variables globales, c'est "pas bien" je suis un peu perdu.

    pourriez vous en 2 mots m'expliquer la philosophie à adopter?
    que ce soit pour une application de type SDI, MDI ou boite de dialogue, voir SDI qui de facon interactive pourra afficher une ou plusieurs boite(s) de dialogue modale(s).

    un grand merci d'avance de la part d'un jeune inculte un peu paumé.

  2. #2
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    En 2 mots 1/2

    MDI/SDI, on met les données dans le CDocument
    Dialog based, dans le CDialog

  3. #3
    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,
    si ton vecteur doit etre disponible dans tout le programme
    tu peux le declarer dans la classe d'application .
    tu pourras y acceder de partout en utilisant AfxGetApp().

    Exemple fictif:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MonApp *pTheApp=static_cast<MonApp *>(AfxGetApp());
    // exemple d'acces :
    pTheApp->m_myVector.size() ;//(etc )
    [edit]
    En complement de mon collegue ,
    dans les 3 cas cités la classe d'application passe partout ..
    c'est une question de choix ...

    [/edit]

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    Citation Envoyé par bigboomshakala
    En 2 mots 1/2

    MDI/SDI, on met les données dans le CDocument
    Dialog based, dans le CDialog
    ok mais alors (enfin je n'en suis pas encore la mais...)
    si je fais une appli avec plusieurs fenetres, j'aurai plusieurs documents non?

    si oui comment les documents vont t'y se refiler mes objets? Dans ce cas là j'envisage un objet global dans le fichiers source qui instancie MyApp, mais je me doute que c'est un mauvais reflexe de débutant non?

    EDIT : ok remarque obsolete, je pense que farscape a parfaitement répondu à ma question, merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/04/2005, 22h23
  2. [Débutant(e)]servlet qui instancie une classe personelle
    Par NiBicUs dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/02/2005, 12h00
  3. Réponses: 13
    Dernier message: 02/02/2005, 00h21
  4. [MFC] Créer dynamiquement une classe
    Par vanitom dans le forum MFC
    Réponses: 9
    Dernier message: 11/12/2004, 13h23
  5. ClassWizard --> comment lui faire reconnaitre mes classes
    Par bigboomshakala dans le forum MFC
    Réponses: 6
    Dernier message: 06/05/2004, 10h50

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