COMPOSANTS TIMER EFFICACE

Messages postés
42
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
1 janvier 2005
- - Dernière réponse : cs_JoSyl
Messages postés
9
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
19 avril 2010
- 9 mai 2009 à 05:57
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12539-composants-timer-efficace

Afficher la suite 
Glorkonline
Messages postés
42
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
1 janvier 2005
-
Bon, mais à l'utilisation, c'est quoi la différence ?
CleyFaye
Messages postés
23
Date d'inscription
samedi 22 mars 2003
Statut
Membre
Dernière intervention
21 août 2003
-
A l'utilisation... hum... ben exemple : tu a une procédure qui peut ètre parfois trèèèès longue, parfois trèèèèès rapide. Tu l'utilise pour une boucle avec le timer normal de windows, et l'event ontimer se reproduit a l'interval donné, sans se préoccuper du fait que la procédure est toujours en cours d'éxécution... C'est juste qu'il m'est arrivé d'avoir des dépassements de pile incompréhensible, et quand j'ai viré le timer standard, plus aucun prob... Avec mon comp. timer(où un autre similaire), la procédure n'est pas rappelé tant que l'application est occupée, ce qui assure(à mon avis) une plus grande stabilité. De plus, comme dans les paramètres de la proc on peut récupérer le délai écoulé depuis le dernier appel, on peut développer un prog. sans "ralentissements"
manumanix
Messages postés
1
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
29 mars 2006
-
bonjour j'aimerai savoir comment on initialise le timer merci
cs_cyprine
Messages postés
10
Date d'inscription
lundi 1 mai 2006
Statut
Membre
Dernière intervention
7 septembre 2006
-
Je suis déslolé, ton timer me serait très utile, mais je ne comprend pas du tout son utilisation...

Je suis trop débutant a mon avis.

Merci de m'éclairer ;)
MUSTAPH_A
Messages postés
20
Date d'inscription
mardi 30 août 2005
Statut
Membre
Dernière intervention
8 mai 2010
-
LUT MES AMIS: j'ai un probleme avec le timer de Delphi je voudrer ajouter une parametre dans timer et j'arrive pas a ajouter alors aider moi svp, mon problem c'est a chaque fois on clic sur la form un nouveau boutton doit etre creer et la valaur 100 est affecter au caption de ce button j'usqua se mement c'est simple mais le probleme qui se pose: j'ai associe a chaque button une timer qui creer de meme principe de button maintenat je voudrer décrementer la valeur de chaque button indepondament au autres button jusqu'a arrivé a 0. merci d'avance et j'attend votre reponse.
acosta11
Messages postés
14
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
3 juin 2008
-
Salut CleyFaye,

Je voudrais savoir si avec ton timer j arrive a avoir l évenement OnTimer ou un evenement semblable, de 20 en 20ms précisément? Bien entendu le Timer par défaut ne me le garanti pas, j ai déjà essayé!

Merci pout ta réponse!
cs_JoSyl
Messages postés
9
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
19 avril 2010
-
Avec ton timer, si je met Active = true, l'utilisation du processeur augmente de beaucoup... que ce soit en runtime ou en designtime... mon intel Q6600 est capable d'en prendre, mais mon celeron affiche une utilisation du processeur de 100%... (même s'il n'y a pas d'événement dans le onTimer...

Est-ce que tu sais c'est du à quoi et comment arranger ca ? car sinon, ton timer c'est une très bonne idée !
cs_JoSyl
Messages postés
9
Date d'inscription
mercredi 4 juin 2008
Statut
Membre
Dernière intervention
19 avril 2010
-
J'ai trouvé :

"OnIdle is called only once, as the application transitions into an idle state. It is not called continuously unless Done is set to false. Applications that set Done to false consume an inordinate amount of CPU time, which affects overall system performance."

Dans ta procedure PROCEDURE TIdleTimer.DoIdle(Sender : TObject; VAR Done : Boolean);

tu met -> " IF Factive THEN BEGIN
Done := False;"
Pourquoi toujour revérifier en continue ? Pour réglé le problème, j'ai mis "Done := False;" en commentaire... et ca semble fonctionner bien quand même... Qu'est-ce que tu en pense ? J'aimerais savoir pourquoi tu as voulu mettre Done à False !

Merci