Bug dans wxSpinCtrl sous Linux et pas Win !!

Bug dans wxSpinCtrl sous Linux et pas Win !! - C++ - Programmation

Marsh Posté le 05-04-2005 à 22:01:20    

Hello,
 
J'ai un wxSpinCtrl auquel il y a un EVT_TEXT(id, func)
 
Dans func j'ai ceci:  

Code :
  1. wxString txt;
  2. int val = bordert->GetValue();
  3. txt.Printf("%d", val); //Transforme un int en wxString
  4. 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...

Reply

Marsh Posté le 05-04-2005 à 22:01:20   

Reply

Marsh Posté le 08-04-2005 à 18:34:36    

Personne ne sais m'aider :( ?

Reply

Marsh Posté le 08-04-2005 à 18:40:37    

Bah debugge et regarde pourquoi GetValue() crash...
Le code source de wxWidgets est assez lisible, non ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed