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:
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.
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
bouttons dynamiques dans un cadre statique
bonjour
bonjour j'ai eu un nouveau problème majeur.
j'appelle la fonction qui créer le boutton 4 fois.
et je vois que le dernier boutton qui apparait sur ma fenètre.
es que vous savez pourquoi?
Merci,
Bouttons dynamic dans un cadre static
Non je crois pas, j'ai verifié les coordonnées et les id de chaque boutton, mais j'ai toujours le dernier boutton qui s'affiche au dernier endroit.
Je pense que c'est un problème d'affichage.
.....
probleme d'affichage de bouttons dans un cadre static
voici mon code :
Code:
1 2 3 4 5 6
| CButton* radio = new CButton;
radio->Create(Button_Name,WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON, Cordinates, wnd, Button_ID);
radio->Create(Button_Name, WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON, Cordinates, wnd, Button_ID);
radio->Create(Button_Name, WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON, Cordinates, wnd, Button_ID);
radio->Create(Button_Name, WS_CHILD|WS_VISIBLE|BS_AUTORADIOBUTTON, Cordinates, wnd, Button_ID); |
cordinates : c'est les coordonnées des bouttons qui sont calculées a partir de la position du cadre.
je recupère la position du cadre grace au programme suivant dans la structure Frame_Rect :
Code:
1 2 3 4 5
| CRect Frame_Rect = NULL;
Frame_Rect = new CRect;
IParentDialog = new CWnd;
wnd = IParentDialog->GetDlgItem(Frame_ID);
wnd->GetWindowRect(Frame_Rect); |
Merci...
EDIT par PetitPapaNoël : Merci d'utiliser les balises CODE (bouton #) pour une meilleure lisibilité...