Pb frame ( wxWidet)

Résolu
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012 - 10 févr. 2006 à 13:54
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012 - 11 févr. 2006 à 21:00
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

fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
10 févr. 2006 à 15:11
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)
3
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
11 févr. 2006 à 19:01
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)
3
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012
10 févr. 2006 à 16:04
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);
}
0
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
11 févr. 2006 à 09:45
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012
11 févr. 2006 à 12:15
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
++
0
kyript Messages postés 346 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 26 mars 2012
11 févr. 2006 à 21:00
ok merci
0
Rejoignez-nous