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 :

Envoi de structure


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut Envoi de structure
    Bonjour,

    J'ai une structure t_user que j'essaye d'envoyer à une fonction lorsque l'user clique sur le bouton:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    t_user user;
    g_signal_connect(G_OBJECT(Confirm), "clicked", G_CALLBACK(add_new_user), (gpointer)user);
    Mais j'obtiens toujours cette erreur lorsque j'essaye de faire un cast de ma structure en gpointer:

    cannot convert from 't_user' to 'gpointer'
    Quelqu'un peux m'aider ? Merci

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    transmets l'adresse de ta structure et non pas la structure.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    t_user user;
    g_signal_connect(G_OBJECT(Confirm), "clicked", G_CALLBACK(add_new_user), &user);

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    Je vais essayer, mais par contre le prototype de ma fonction callback reste la même ? :

    mafonction(GtkWidget *Widget, gpointer Data)

  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
    Oui. Un gpointer c'est un void *., et tu peux convertir un t_user * en void *. En revanche, vérifie que ta structure existera toujours quand ta callback sera appelée. En gros si ta variable user est une variable locale, fais attention à ce qu'elle n'ait pas déjà été détruite au moment où tu tentes de l'utiliser.

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    C'est bon ca marche !! merci encore !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi de structure via socket
    Par RoZyk dans le forum Réseau
    Réponses: 4
    Dernier message: 09/11/2010, 10h01
  2. Envoie de structure à un thread.
    Par mohdaef dans le forum Threads & Processus
    Réponses: 2
    Dernier message: 24/03/2008, 17h23
  3. envoi de structure en MPI
    Par fatjoe dans le forum C++
    Réponses: 5
    Dernier message: 08/03/2008, 15h04
  4. windows socket, problème envoi de structure :s
    Par ramislebob dans le forum Réseau
    Réponses: 7
    Dernier message: 29/07/2006, 23h17
  5. [SOCKET] Envoi de structure
    Par Lolita59 dans le forum Réseau
    Réponses: 3
    Dernier message: 17/05/2006, 15h30

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