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 :

Création CDialog OK mais m_hWnd=NULL (VC++2010)


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 157
    Par défaut Création CDialog OK mais m_hWnd=NULL (VC++2010)
    Bonjour,

    j'ai du mal à comprendre pourquoi dans certains de mes projets (en particulier ceux importés de VC++6) je n'arrive pas à créer et initialiser des variables membre de CDialog à partir de OnInitDialog car ceux-ci ont leur handle m_hWnd = NULL.

    Pourquoi est-ce que le m_hWnd n'est pas initialisé correctement?

    Merci.

    G13

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 457
    Par défaut
    Si le contrôle ou la fenêtre n'est pas encore crée du coté du Kernel, l'handler n'existe pas encore.
    Les MFC hook la création de fenêtre pour remplir ce champ au moment de la création de la fenêtre coté Kernel.
    Utilisez-vous bien des "thread MFC" pour la création de ces fenêtres ?

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    S'il ne s'agissait pas d'un projet MFC, j'aurais pensé à un manque de InitCommonControlsEx(), mais je m'attends à ce que MFC fasse ce genre de chose pour toi.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 457
    Par défaut
    Sur un projet migré, c'est pas sûr.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 157
    Par défaut
    Bonjour et merci pour les réponses. Il s'agit effectivement d'un projet MFC. Le mécanisme que j'utilise est similaire à d'autres projets que j'ai fait. Donc je pense qu'il s'agit d'un problème lié à la migration, mais je n'ai pas vraiment trouvé quoi...

    Bon, je vais explorer... merci quand même.

    Gorgo 13.

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Compare le CXxxxxApp::InitInstance() avec celui d'un projet MFC tout neuf. Tu y trouveras probablement un truc se rapportant à InitCommonControlsEx().

    Ou une différence quand au #pragma qui lie le programme à ComCtl32.dll version 6.
    Vérifie aussi les options du projet pour voir une différence quant au charset utilisé.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Création projet Grails mais sans commandes
    Par Fikou-Sama dans le forum Grails
    Réponses: 5
    Dernier message: 21/06/2010, 11h21
  2. session expirée mais non null
    Par Tail dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 18/09/2008, 12h04
  3. [RSExecute] null mais pas null.......
    Par Nadine dans le forum ASP
    Réponses: 7
    Dernier message: 11/02/2005, 17h40

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