Pb frame ( wxWidet)

Résolu
Signaler
Messages postés
346
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 mars 2012
-
Messages postés
346
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 mars 2012
-
Bonjour a tous

j'ai donc un gros soucis
explication:

Lors du lancement du programme, je lit dans un fichier .txt et j'insere le text "IP, Port" dans 2 textCtrl qui sont definie dans une frame enfant

une fois le programme lancé, j'execute une action "connection" se servent des parametres mit dans les textCtrl

jusqu'a la aucun soucis

le probleme survient lorsque j'ouvre ma frame enfant puis que je la referme, a ce moment la j'execute l'action "connection" et pif le programme plante

Je pense quand fermant la frame, il doit detruire les textCtrl ?
ya t'il une solution pour remedier a ca ?

merci de votre aide

6 réponses

Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
Bonjour,



il faudrait voir un p'tit bout du code d'ouverture et de fermeture.
Mais effectivement les fenêtres enfants sont détruites lors de la
fermeture. Donc si tu fais un appel à une fenêtre avec un pointeur qui
contient l'adresse d'un objet détruit bonjour le plantage.

si tu lit dans un fichier stocke les valeurs dans des variables membres
de ta fenêtre principale ou de ton object dérivé de wxApp.

Cordialement

Fred Cailleau-Lepetit (http://cfred.free.fr)
Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
Bonjour,

Frame->Show(false); cache la fenêtre on peut la réafficher avec Frame->Show(true);
En revanche Frame->Destroy(); supprime l'objet Frame c'est comme si vous faisiez delete Frame; mais Destroy() est plus correct avec wxWidgets.

Cordialement

Fred Cailleau-Lepetit (http://cfred.free.fr)
Messages postés
346
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 mars 2012

Merci beaucoup

J'ai donc extrait le texte du fichier dans des variables public de ma classe principal
le pb est donc resolut car je ne fait plus apelle aux textCtrl de ma frame enfant

cependant lors de la premiere ouverture et fermeture de la frame enfant auncun pb mais lors de la seconde fermeture le programme plante

une idée ?

void DownallFrm::Config(wxCommandEvent& event)
{
Frameconfig->Show(true);
}
Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
Bonjour,

il vous faut vérifier que vous n'utilisez pas un pointeur qui contient l'adresse d'un objet détruit ailleurs. C'est le cas le plus courant de plantage.

Cordialement

Fred Cailleau-Lepetit (http://cfred.free.fr)
Messages postés
346
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 mars 2012

ok en faite apres de long test
je me suis rendu compte qu'il fallait fermé la fenetre par
Frame->Show(False);

moi je mettait Destroy();

donc tout va bien maintenant

merci beaucoup
++
Messages postés
346
Date d'inscription
jeudi 7 avril 2005
Statut
Membre
Dernière intervention
26 mars 2012

ok merci