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 :

A propos de g_timeout_add


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut A propos de g_timeout_add
    Bonjour,
    La fonction "g_timeout_add" permet l'exécution d'une routine avec une période de T secondes par exemple. Mon problème concerne l'instant de la première exécution de cette routine.
    Je constate qu'elle est activée la première fois seulement après T secondes par "g_timeout_add". Or je souhaite que cette activation soit immédiate la première fois. Puis toutes les T secondes après...
    J'aimerais savoir si quelqu'un parmi vous a une solution simple à ce problème.

    Merci à l'avance et cordialement.

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    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 309
    Billets dans le blog
    5
    Par défaut
    Faire simple je ne sais pas mais tu peux toujours appeler directement ta GsourceFunc, puis ensuite l'intégrer avec g_timeout_add();. La précision ne sera pas vraiment là en terme d'intervalle, mais tu auras le résultat escompté. De toute manière la doc officielle précise bien que la précision du timer n'est pas du tout garantie avec cette fonction.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut A propos de g_timeout_add (suite)
    Bonjour,

    Un grand merci de votre suggestion. En la suivant, je trouve à peu près la solution de mon problème. Seulement le système émet de temps en temps un message d'erreur suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GLib-CRITICAL **: g_source_remove: assertion `tag > 0' failed
    Sachant que cette erreur ne semble pas perturber l'application qui continue à fonctionner correctement.

    J'aimerais savoir si quelqu'un parmi vous a une idée sur l'origine de cette erreur.

    Merci à l'avance.

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    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 309
    Billets dans le blog
    5
    Par défaut
    La fonction associée au g_timeout_add(); est-elle arrêtée par moment puis relancée ou bien y-a-t-il des threads dans ton code ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut A propos g_timeout_add (suite 2)
    Bonjour,

    La routine lancée par g_timeout_add est effectivement arrêtée puis relancée selon les événements associés. Par contre, il n'y a pas de programmation des threads dans le code d'application.

    Merci à l'avance

    Cordialement.

  6. #6
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 309
    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 309
    Billets dans le blog
    5
    Par défaut
    Le warning gtk vient alors surement du fait que dans le code tu désires arreter le g_timeout_add() en utilisant la fct g_source_remove sur un ID inexistant.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 108
    Par défaut A propos de gtk_timout_add (fin)
    Bonjour,

    Oui, il s'agit bien d'un ID mal récupéré selon une certaine séquence.

    Grand merci et cordialement.

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

Discussions similaires

  1. A propos de Last_insert_id
    Par f-demu01 dans le forum Administration
    Réponses: 2
    Dernier message: 26/03/2003, 08h32
  2. A propos depth buffer
    Par j.yves dans le forum DirectX
    Réponses: 1
    Dernier message: 03/12/2002, 00h41
  3. A propos des modèles d'objet (avec sources)
    Par DevX dans le forum C++Builder
    Réponses: 14
    Dernier message: 01/12/2002, 12h22
  4. Fonctionnement de la compression DivX
    Par Rodrigue dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/09/2002, 14h10
  5. A propos du composant DBGrid
    Par _Rico_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/07/2002, 09h18

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