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 :

erreur : unhandled exception 0xC0000005 access violation


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 48
    Par défaut erreur : unhandled exception 0xC0000005 access violation
    Bonjour à tous les developpeurs,
    en fait mon probleme est le suivant :
    je crée un group box statiquement dans une fenètre, est ensuite je dois y inserer des bouttons dynamiquement.

    mon code qui fait buguer mon programme est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    constructeur::constructeur(Frame_ID)
    {
    CRect Frame_Rect;
    
    CWnd *wnd = GetDlgItem(Frame_ID);
    wnd->GetWindowRect(Frame_Rect); 
    ......
    }
    aprés avoir fait du pas à pas je me suis rendu compte que la source de l'erreur vient de la ligne en gras et la valeur de wnd aprés l'execution de cette ligne de code est :
    this | {CWnd hWnd = ???}
    et
    m_hWnd | CXX0030 Error : expression cannot be evaluated

    ensuite quand je continue l'execution de mon application j'ai la pop_up qui apparrait et qui contient le message suivant :

    unhandled exception in mobile.exe 0xC0000005 access violation

    svp si vous avez une idée sur la source de cette erreur n'hesitez pas à me repondre.

    Merci beaucoup.

  2. #2
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Bonjour,

    Il s'agit de quel constructeur ?
    Je ne comprends pas trop où intervient ce bout de code, mais en général on n'utilise pas la méthode GetDlgItem dans un constructeur, vu que la méthode DoDataExchange n'a pas encore fait son travail... Cf. la FAQ pour plus de détails sur DoDataExchange.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 48
    Par défaut unhandled exception : access violation
    Merci pour ta reponse,

    en fait il s'agit du constructeur d'une class que j'ai developpez et qui a pour fonctionnalités principale la gestion de la création des bouttons dans ce gadre statique.dans ce constructeur j'appel la methode GetDlgItem(Frame_ID), avec Frame_ID qui correspond à l'identifiant du cadre statique.

    cette méthode dois me retourner un pointeur de type CWnd de l'objet "cadre statique", et j'appel ensuite la fonction GetWindowRect(Rect1) pour recuperer les coordonnées du cadre.

    Merci

  4. #4
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Il ne s'agit pas du constructeur de la fenêtre qui contient le cadre ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 48
    Par défaut unhandled exeption
    Merci j'ai trouver la source du problem

    en fait il faut que j'associe à la fonction GetDlgItem le pointeur Cwnd* du dialog dans le quel je veux afficher les boutons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CWnd wnd = MyDialog->GetDlgItem(ID_Frame)
    //ID_Frame : c'est l'Identifiant du cadre dans MyDialog.
    Merci beaucoup,

  6. #6
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Ah oui, effectivement...

    Sinon, il faut penser à utiliser les balises CODE (#), et à cliquer sur le bouton quand une solution a été trouvée.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/05/2009, 14h07
  2. Réponses: 2
    Dernier message: 20/11/2007, 10h38
  3. Réponses: 18
    Dernier message: 09/10/2007, 10h20
  4. [0xC0000005: Access Violation.]
    Par ARachid dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 24/04/2007, 23h34
  5. Réponses: 2
    Dernier message: 16/11/2006, 17h09

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