Hello,
J'ai un wxSpinCtrl auquel il y a un EVT_TEXT(id, func)
Dans func j'ai ceci:
Code :
- wxString txt;
- int val = bordert->GetValue();
- txt.Printf("%d", val); //Transforme un int en wxString
- wxLogMessage(txt);
|
Sur Windows à chaque fois que je clique sur une petite flèche du SpinCtrl, j'ai le wxLogMessage qui m'affiche la valeur qu'il y a dans le champ wxSpinCtrl.(logique)
Par contre sur Linux: quand je clique sur une petite flèche du SpinCtrl j'ai mon wxLogMessage qui m'affiche la valeur "0" (pas logique) puis la valeur qui se trouve dans le champ wxSpinCtrl (donc comme sur windows).
-A mon avis c'est un bug étant donné que le résultat n'est pas le même sur Linux que Windows.
-Le problème: Si mon SpinCtrl est à 1 et que je clique sur la flèche pour décrémenter et bien mon programme plante... J'ai l'impression que mon bordert->GetValue ne me retourne pas un int dans ce cas...
J'ai esseyé ceci: if(isdigit(bordert->GetValue())){...} mais cette condition fait planter mon programme quand la valeur du bordert est cencé être à 0.
J'ai entedu parler de try/catch, est-ce que ça peut résoudre mon problème ou alors ça n'a rien avoir ?
Merci...