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

C++Builder Discussion :

Not enough timers available


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Par défaut Not enough timers available
    Bonjour,

    mon appli est développée avec embarcadero rade studio XE.
    De temps en temps un message d'erreur s'affiche : Not enough timers available.
    Quelqu'un a t'il déjà rencontré ce problème ? Une idée pour trouver le problème ?
    Trop de timers que je ne remets pas à enable = false ??

    merci pour votre aide !

    Pascale38

  2. #2
    Membre très actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Par défaut
    A vérifier mais je crois me rappeler qu'il y a une limitation du nombre de timer, mais qui vient de windows, non du C++ Builder.
    Combien de Timer as-tu au total?

    Une solution possible consisterait à essayer de réduire le nombre de timer en groupant.
    Genre si tu as 2 timers, l'un à 50ms et l'autre à 200ms, n'en fais qu'un seul avec une variable que tu incrémentes et si la variable = 4 tu fais l'action de l'ancien timer 200ms et tu remets la variable a zéro.

    Je sais pas si je suis clair je peux donner un exemple de code au pire si besoin.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par défaut
    Oui en effet il y a une limite aux nombre de Timers dans Windows. Voici un article (Anglais) qui en parle:
    http://blogs.msdn.com/b/oldnewthing/...7/9886147.aspx

    La limite est très haute dans les versions récentes de Windows, cependant ce qui est dit est que si l'application est gourmande en ressources cette limite sera atteinte faute de mémoire disponible.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Par défaut
    Argol_Medusa : oui oui je crois que c'est clair, je crois que je vois ce que tu veux dire mais bon j'ai une vingtaine de timer en tout, et ils sont loin de tous tourner en même temps !

    Mais alors du coup le problème ne vient peut être pas de mon appli ?
    Et donc si tous les timers windows sont déjà utilisés par d'autres appli, on fait comment ?

    Je trouve tout ça assez bizarre quand même !

    Du coup pour l'instant je sèche là...
    merci en tout cas pour vos réponses !!
    Pascale38

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 054
    Par défaut
    Tu utilises TTimer ou API CreateTimer ?

    20 simultanés mais as-tu de nombreuses créations\libérations ?

    Tu ne pourrais pas gérer un TTimer commun pour regrouper plusieurs Interval où tu gères manuellemet certains délais que tu calcules via System:iagnostics::TStopwatch (QueryPerformanceCounter)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 229
    Par défaut
    J'utilise TTimer, et non justement ils ne sont jamais tous en simultanés !!
    En fait sur quasi toutes mes pages, j'ai un timer pour rafraichir les données reçues. Une seule page peut être affichée à la fois + deux timer sur la fenêtre principale. Les pages en général ne contiennent qu'1 timer que je passe à enabled = true quand j'affiche la page et à false quand je la ferme...
    Je me demande si le problème ne vient pas plutôt de là, est ce qu'un timer est recréé à chaque ouverture de page et si oui est ce qu'il est bien libéré à la fermeture ??
    Mes Form sont créées avec un new TFormxxx, je suis partie du principe que la libération se faisait automatiquement car comment faire un delete de la fenêtre sur le close ??? C'est peut être bien là que j'ai une grosse erreur ???

Discussions similaires

  1. There is not enough memory available now
    Par cersan dans le forum AIX
    Réponses: 3
    Dernier message: 13/08/2010, 14h17
  2. [WD14] Not enough storage is available to process this command? Pourquoi
    Par chapeau_melon dans le forum WinDev
    Réponses: 0
    Dernier message: 28/05/2009, 07h51
  3. restriction souris fenêtre : erreur 8 not enough storage ?
    Par chapeau_melon dans le forum WinDev
    Réponses: 4
    Dernier message: 12/02/2008, 15h14
  4. [ORA-00371] Not enough shared pool memory !!!
    Par max44410 dans le forum Installation
    Réponses: 6
    Dernier message: 30/11/2005, 19h47

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