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 :

GtkButton et Structure


Sujet :

GTK+ avec C & C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 19
    Points : 36
    Points
    36
    Par défaut GtkButton et Structure
    Bonjour,

    J'ai un tableau de bouton (9), un tableau d'une structure (9), je souhaite donc les faire correspondre.

    Ma structure la voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    typedef struct{
        char Nom;
        double Prix;
    }Produits;
    Ma boucle sur les bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        for(i = 1, j = 0; i < 10; i++){
     
            p_TabButton[i] = gtk_button_new();
            gtk_button_set_label(GTK_BUTTON(p_TabButton[i]), TabProduits[i].Nom);
            gtk_box_pack_end(GTK_BOX(p_TabHBox[j]), p_TabButton[i], TRUE, TRUE, 0);
     
            if((i%3) == 0){
                gtk_box_pack_end(GTK_BOX(p_MainBox), p_TabHBox[j], TRUE, TRUE, 0);
                j++;
            }
        }
    Quand je retire la partie "TabProduits[i].Nom", par un texte du type "Test" mes 9 boutons s'affichent, dans le cas contraire ça compile, mais plantage complet avec : "A cesser de fonctionner".

    Merci d'avance.

    Hantse

  2. #2
    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
    Points : 2 002
    Points
    2 002
    Par défaut
    Bonjour,

    Citation Envoyé par Hantse Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        for(i = 1, j = 0; i < 10; i++)
    Déjà, je pense que ta boucle n'est pas correcte si tu n'as que 9 éléments. Tu devrais commencer à i = 0 jusqu'à i < 9. Ou alors il faut nous fournir la déclaration de tes tableaux.

    De plus, dans ta structure Produits, ton nom ne fait qu'un caractère. Du coup, gtk_button_set_label reçoit un caractère au lieu d'une chaîne de caractères. Cela devrait être soit un tableau de caractères:
    ou un pointeur vers de la mémoire allouée dynamiquement à la taille de la chaîne:
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 19
    Points : 36
    Points
    36
    Par défaut
    Bonsoir,

    En effet j'avais oublié l'allocation dans ma structure.

    Merci de votre aide

  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
    Points : 2 002
    Points
    2 002
    Par défaut
    En compilant avec tous les warnings activés, ce genre de choses aurait été signalé je pense. Compile toujours avec l'option -Wall de gcc pour activer les principaux warnings.
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

Discussions similaires

  1. recuperation de la structure d'une base
    Par pascalT dans le forum 4D
    Réponses: 7
    Dernier message: 07/06/2006, 15h32
  2. [tables systèmes] extraction de la structure d'une base
    Par laffreuxthomas dans le forum Autres SGBD
    Réponses: 6
    Dernier message: 23/03/2006, 13h24
  3. [VB6] [Fichier] Enregistrer des variables de structure
    Par de.bo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/10/2002, 11h09
  4. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10
  5. longueur d'une structure
    Par bohemianvirtual dans le forum C
    Réponses: 6
    Dernier message: 28/05/2002, 18h31

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