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

Visual C++ Discussion :

GetDlgItem return NULL pointer


Sujet :

Visual C++

  1. #21
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    C'est donc bien que tu as une incohérence entre ton fichier ressources et la boîte de dialogue que tu créés. Est-ce que l'identifieur IDD_CONFTRAITEMENT_2CAR n'est définie qu'une fois ? Est ce que la valeur de IDD_CONFTRAITEMENT_2CAR est unique ? As-tu des messages d'erreurs entre DoModal() et OnIniDialog?
    [EDIT]: gères-tu plusieurs langues avec plusieurs .rc ? J'ai un doute : ressource définie pour une langue et projet compilé pour une autre?

  2. #22
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut
    C'est donc bien que tu as une incohérence entre ton fichier ressources et la boîte de dialogue que tu créés.
    ==>comment peux on vérifier ça?

    Est-ce que l'identifieur IDD_CONFTRAITEMENT_2CAR n'est définie qu'une fois ?
    ==>oui pour la déclaration,mais il est utilisé dans trois fichiers .rc(uk,fr,sp)

    Est ce que la valeur de IDD_CONFTRAITEMENT_2CAR est unique ?
    ==>oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define IDD_CONFTRAITEMENT_2CAR         1043
    As-tu des messages d'erreurs entre DoModal() et OnIniDialog?
    ==>Non,ci-joint le scénario:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    BOOL CPropConfDechargementAuto::OnInitDialog() 
     
    void CPropConfDechargementAuto::OnModifier() 
     
    	if (oDlg.DoModal() == IDOK)
     
    BOOL CDlgCalendrierDechargement::OnInitDialog() 
     
    void CDlgCalendrierDechargement::CacheTousCtrl()
    {
    	// -> mensuel
    	GetDlgItem(IDC_AFF_MENSUEL)->ShowWindow(FALSE);
    et ça crash.


    gères-tu plusieurs langues avec plusieurs .rc ?
    ==> oui : fr,uk,sp

    J'ai un doute : ressource définie pour une langue et projet compilé pour une autre?
    ==>j'ai modifié la langue des fenêtres du .rc ainsi que celui du projet en english UK,mais j'ai toujours le crash.

  3. #23
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par karim2009 Voir le message
    ==>j'ai modifié la langue des fenêtres du .rc ainsi que celui du projet en english UK,mais j'ai toujours le crash.
    Est-ce que tes trois fichiers ressources sont identiques?
    Diable, ça fait longtemps que j'ai pas joué avec les différentes langues...
    Est-ce que tu peux zipper ton projet complet et le mettre ? Je pense qu'on ira plus vite...

  4. #24
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut
    Est-ce que tes trois fichiers ressources sont identiques?
    ==>je pense qu'il y a une différence entre les fichiers(je vous les envoie).

    Diable, ça fait longtemps que j'ai pas joué avec les différentes langues...
    ==>comment peux t on checker si on a pas loupé qlq chose?


    Est-ce que tu peux zipper ton projet complet et le mettre ?
    Je pense qu'on ira plus vite...
    ==>c'est sûr,mais ce n'est pas personnel.
    Fichiers attachés Fichiers attachés

  5. #25
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Essaie ce fichier là.
    Fichiers attachés Fichiers attachés

  6. #26
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut
    ça ne marche toujours pas,juste pour info si ça peux nous aidez:

    -dans des anciennes versions il n'y avait pas de probléme,mais la boîte de dialog était en français et il manquait deux boutons(Modify).

    - il y a actuellement une boîte de dialog similaire à celle ci et qui marche bien
    et c'est presque le même bout de code.
    est ce que certain contrôle particulier existe sur ce boîte de dialogue et pas dans celle en défaut.

  7. #27
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Je n'ai pas l'impression qu'il y aie des contrôles atypiques pouvant créer des problèmes.
    Par contre, au vu de ce que tu dis sur les versions précédentes et au vu du fichier rc, je me demande si le problème ne vient pas effectivement de la définition des fichiers ressources et de la langue utilisée. Est-ce que le zip que tu m'as précédemment envoyé contient tout les .rc du projet?

  8. #28
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour,
    Tu dis que tu en as une autre qui marche? Quel est son ID?

    Sinon, j'ai revu ton .rc (encore), essaie avec celui-ci.
    Fichiers attachés Fichiers attachés

  9. #29
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut
    Tu dis que tu en as une autre qui marche? Quel est son ID?
    ==>IDD_CONFTRAITEMENT_2CPURGEBD

    Sinon, j'ai revu ton .rc (encore), essaie avec celui-ci.
    ==>ça ne marche toujours pas.

  10. #30
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Je sèche
    Sauvegarde ton .rc actuel, supprime ta boîte de dialogue et recréée-là from scratch. Là, ça devrait marcher ! Ensuite, compare les rc pour voir la différence. Je ne vois pas d'autre moyen .

  11. #31
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Si tu changes tes .rc par ceux données ci-après, quel est le message d'erreur que tu as à la compilation (copie le en entier) ?
    Fichiers attachés Fichiers attachés

  12. #32
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut
    lorsque je change les .rc par ceux reçus je n'ai aucun message d'erreur.
    j'ai essayé de redessiner la boite de dialog,mais j'ai toujours le probléme.

  13. #33
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Là je ne vois plus de piste.
    Après avoir exploré les autres pistes, je ne sais plus comment t'aider
    Si ton projet n'est pas trop gros ni confidentiel, peut-être peux-tu en faire un zip de tous et le poster. Sinon, désolé, j'ai plus d'idée.

  14. #34
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Par défaut
    j'ai effectué une comparaison entre la version qui marche et celle qui ne marche pas:
    ci-joint le scénario:
    GetDlgItem(IDC_AFF_MENSUEL)->ShowWindow(FALSE);

    ==>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CWnd* CWnd::GetDlgItem(int nID) const
    {
    	ASSERT(::IsWindow(m_hWnd));
    // ici la différence pour la valeur du m_hWnd
    	if (m_pCtrlCont == NULL)
    		return CWnd::FromHandle(::GetDlgItem(m_hWnd, nID));
    	else
    		return m_pCtrlCont->GetDlgItem(nID);
    }
    ==>

    on passe vers la fonction FromHandle avec hWnd ayant une valeur non null (cas OK) et une null dans mon cas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CWnd* PASCAL CWnd::FromHandle(HWND hWnd)
    {
    	CHandleMap* pMap = afxMapHWND(TRUE); //create map if not exist
    	ASSERT(pMap != NULL);
    	CWnd* pWnd = (CWnd*)pMap->FromHandle(hWnd);
    
    #ifndef _AFX_NO_OCC_SUPPORT
    	pWnd->AttachControlSite(pMap);
    #endif
    
    	ASSERT(pWnd == NULL || pWnd->m_hWnd == hWnd);
    	return pWnd;
    }
    la différence est que le pointeur m_hWnd à une valeur pour les deux cas
    (adresse),mais on retrouve dessous la valeur unsed:
    qui dans mon cas est non null a une valeur grande positive (par exemple 600637440),
    alors que dans le cas où ça marche la valeur associée est une valeur grande négative.

    avez vous une idée?

Discussions similaires

  1. [Struts] Null Pointer Exception
    Par n@n¤u dans le forum Struts 1
    Réponses: 1
    Dernier message: 01/08/2006, 13h10
  2. Null Pointer Exception
    Par snouppy dans le forum JBuilder
    Réponses: 3
    Dernier message: 13/06/2006, 21h53
  3. Pointeur intelligent boost : return NULL ->comment faire?
    Par choinul dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 21/12/2005, 16h24
  4. Null pointer assignement
    Par issou dans le forum C
    Réponses: 12
    Dernier message: 18/11/2005, 13h39
  5. [Language]Constructeur==> Null pointer?
    Par Chiwawa dans le forum Langage
    Réponses: 8
    Dernier message: 14/05/2005, 22h51

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