Bonjour,
Je suis en train d'essayer de compiler sous linux un programme que j'ai écrit sous Win... mais j'ai peur d'avoir utilisé wxWidg 2.6 sous win et j'ai 2.8 sous linux...
Pour le moment, toutes mes belles fenêtres apparaissent, mais lorsque je clique dans un menu qui fait apparaître un wxDialog pour saisir les données d'un calcul, la fenêtre apparaît bien, je peux écrire mes nombres dans les zones de texte, et quand je clique "ok", ca plante : tout le programme se ferme... pas cool. La structure globale est la suivante :
Dans ma classe principale il y a ce bout de code qui fait apparaître le wxDialog pour la saisie des paramètres :
1 2 3 4 5
| freevol_etasta freevol_dlg(this, &d_transf, &deps1, &deps2, &dsig1, &dsig2);
if(freevol_dlg.ShowModal() == wxID_OK)
{
dia_sig1 = freevol_dlg.GetSig1(); //cette ligne fait planter
} |
et j'ai une classe freevol_etasta dérivée de wxDialog qui contient des wxTextCtrl pour saisir les valeurs. La partie récupération des valeurs ressemble à ça :
m_ctrl_sig1->SetValidator(wxTextValidator(wxFILTER_NONE,&m_sig1));
où m_ctrl_sig1 est un pointeur sur mon wxTextCtrl et m_sig1 un wxString. La fonction GetSig1() est toute bête :
wxString GetSig1() const {return m_sig1;}
Tout ça compile gentiment... je suis un peu paumé, je dois dire. Est-ce que quelqu'un aurait des suggestions ? (j'ai essayé de faire court, mais si il manque des infos...),
Merci 
Hugo
Partager