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 :

Paramètres dans les fonctions callback


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 17
    Points : 11
    Points
    11
    Par défaut Paramètres dans les fonctions callback
    Bonsoir a tous.
    Alors voila j'expose mon problème:
    J'ai créé une chaine de caractères dans ma fonction main :

    gchar *MaChaine="";

    Je voudrais passer l'adresse de celle-ci lors de l'appel de ma fonction callback pour ensuite modifier cette variable dans ma fonction callback.
    Je ne vous poste pas de code pour la simple raison que je ne vois pas vraiment comment faire.
    J'espère avoir été clair dans mon problème.
    Bonne soirée et merci d'avance.

  2. #2
    Membre expérimenté
    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
    Points : 1 633
    Points
    1 633
    Par défaut
    C'est évoqué dans la section 1.3 "les signaux" de http://gtk.developpez.com/cours/gtk2...s.fenetres.php

  3. #3
    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
    1. Quel est le problème au juste ? Passer l'adresse d'une chaine de caractères c'est juste du C, et les callbacks auxquelles tu peux passer des données on en général un paramètre "gpointer data" ou "gpointer user_data" qui sert à ça.
    2. Ne jamais déclarer une chaine de cette manière. Utilise soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const gchar *chaine="mon texte";
    ou bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gchar chaine[] = "mon texte";
    Le problème de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gchar *chaine="mon texte";
    c'est que "mon texte" peut être placé dans une page mémoire en lecture seule, vu que c'est une donnée du programme, une chaine "en dur". Si tu essaies de la modifier, par exemple avec:
    tu auras une erreur de segmentation...

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/07/2014, 17h13
  2. Réponses: 6
    Dernier message: 31/05/2008, 15h45
  3. Réponses: 9
    Dernier message: 13/05/2005, 03h13
  4. Réponses: 2
    Dernier message: 07/10/2004, 17h00
  5. [plpgsql] transaction dans les fonctions ?
    Par hpghost dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 27/06/2004, 16h56

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