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 :

Mettre en pause g_timeout_add


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 81
    Par défaut Mettre en pause g_timeout_add
    J'aimerai savoir comment mettre en pause la fonction g_timeout_add


    Merci

  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
    Ca veut dire quoi "en pause" ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 81
    Par défaut
    ça veut dire, j'appuie sur un bouton "stop" la fonction est stopper ou "tué", j'appuie sur le bouton "start" je créé une nouvelle fonction g_timeout_add

  4. #4
    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
    Un des premiers résultats quand tu fais une recherche sur g_timeout_add est http://www.developpez.net/forums/sho...d.php?t=553523

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 81
    Par défaut
    moi j'ai pas trouvé ça quand j'ai cherché ! mais merci !

  6. #6
    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
    Pour compléter la réponse de Teuf il ne faut pas oublier que le callback affecté avec un g_timeout_add(); retourne TRUE tant qu'il vit. Donc il est tout à fait possible à l'interieur de cette fonction de faire un test sur un widget ou une variable externe et selon le résultat trouvé renvoyé FALSE ce qui provoquera automatiquement le "kill" de cette fonction. Ainsi nul besoin de sauvegarder le int renvoyé par g_timeout_add(); pour l'utiliser avec un g_source_remove();

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Pour compléter la réponse de Teuf il ne faut pas oublier que le callback affecté avec un g_timeout_add(); retourne TRUE tant qu'il vit. Donc il est tout à fait possible à l'interieur de cette fonction de faire un test sur un widget ou une variable externe et selon le résultat trouvé renvoyé FALSE ce qui provoquera automatiquement le "kill" de cette fonction. Ainsi nul besoin de sauvegarder le int renvoyé par g_timeout_add(); pour l'utiliser avec un g_source_remove();
    Personnellement, je recommande chaudement de gérer proprement l'identifiant retourné par g_timeout_add() pour supprimer l'instance de la fonction de la queue idle quand elle n'est plus nécessaire. D'autant plus si une même fonction de traitement est mise en queue idle avec des données différentes (champ data de g_timeout_add() différent mais même fonction GSourceFunc) : l'utilisation d'un flag global s'appliquerait alors à toutes les instances de la fonction ou alors le développeur en viendrait à gérer autant d'association [ flag, fonction ] que d'instances de la fonction - en gros, il réinventerait l'identifiant retourné par g_timeout_add(). Bref, un identifiant est retourné pour assurer une association unique [ traitement, instance de la fonction ] et il faut l'utiliser plutôt que de mettre en place des hacks rocambolesques avec des variables globales qui ajoutent une complexité inutile au code.

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

Discussions similaires

  1. Mettre une pause dans un programme
    Par PNL dans le forum Général Java
    Réponses: 12
    Dernier message: 28/01/2016, 00h54
  2. mettre une pause
    Par filax dans le forum Flash
    Réponses: 7
    Dernier message: 27/09/2006, 14h28
  3. [VB6] Mettre en pause l'execution du code
    Par ironik dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 19/05/2006, 10h56
  4. [FLASH MX2004] Comment mettre une pause dans un script
    Par vbcasimir dans le forum Flash
    Réponses: 3
    Dernier message: 16/02/2006, 09h47
  5. Mettre en pause le Timer !
    Par NaDiA_SoFt dans le forum C++Builder
    Réponses: 14
    Dernier message: 12/09/2003, 21h32

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