IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

Fermeture avec un Gtk_entry "vide"


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut Fermeture avec un Gtk_entry "vide"
    Bonjour, j'ai un petit soucis avec le programme que je suis en train de faire, ce qui engendre une fermeture inopinée du programme :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    void OnUpdate3(GtkButton *button, gpointer user_data)
    {
     
           gchar *sText = NULL;
           MainWindow *pApp;
           GtkWidget *pAbout;
           GtkWidget *pAbout2;
     
        /* Recuperation de data */
        pApp = (MainWindow*) user_data;
     
     
     
     
       /* Recuperation du texte contenu dans le GtkEntry */
        sText = gtk_entry_get_text(GTK_ENTRY(pApp->pEntry));
     
     
     
     
        printf("%s\n", sText);
        printf("%s -> %s\n", pApp->P_Mot_francais, pApp->P_Mot_anglais);
     
            if (strcmp(sText, pApp->P_Mot_anglais) == 0) // Si strcmp renvoie 0 (chaînes identiques)
        {
      OnAboutBtn(pApp->pButton2, pApp->pWindow);
        }
        else /* An espresso */
        {
     OnAboutBtn2(pApp->pButton2, pApp->pWindow);
        }
     
     }
    Dans cette fonction, a un moment on récupere le texte d'une GtkEntry, or si l'utilisateur n'a rien écrit, on ne peut rien récupérer dans ça bug !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    /* Recuperation du texte contenu dans le GtkEntry */
        sText = gtk_entry_get_text(GTK_ENTRY(pApp->pEntry));

    Quelqun pourrait m'aider a contrer cela?





    Merci d'avance : VURTNE

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Si l'utilisateur n'a rien rentré, tu risque de récupérer NULL dans ton gtk_entry_get_text, et ensuite le strcmp va être à l'origine d'un plantage de ton programme.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut
    Merci pour t'as réponse, mais j'avais compris, j'ai pensée a ça, mais ça n'a pas l'air de marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
      if(sText == NULL)
        {
                 printf("nada");
        }         
        else
        {
                   if (strcmp(sText, pApp->P_Mot_anglais) == 0) // Si strcmp renvoie 0 (chaînes identiques)
               {
                  OnAboutBtn(pApp->pButton2, pApp->pWindow);
                }
                  else /* An espresso */
               {
                   OnAboutBtn2(pApp->pButton2, pApp->pWindow);
               }
              }
    }


    Quelqun pourrait-il m'aider a contrerce problème, en me donnant des pistes !?


    Merci d'avance VURTNE

  4. #4
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Mets des
    dans ton code pour voir à quelle ligne ça plante, ou utilise un debugger comme nemiver, parce que là sans pouvoir exécuter le code, c'est un peu léger comme infos...

Discussions similaires

  1. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo