wahidov2000
Messages postés31Date d'inscriptionmercredi 9 novembre 2005StatutMembreDernière intervention15 septembre 2013
-
30 sept. 2008 à 13:59
wahidov2000
Messages postés31Date d'inscriptionmercredi 9 novembre 2005StatutMembreDernière intervention15 septembre 2013
-
4 oct. 2008 à 12:49
bonjour ,
je veux juste savoir comment faire pour qu'un timer soit toujours en execution (pas d'interuption)
car j'utilise des bases de donnée de grande taille et quand je fait par exemple table1.open l'animation qui est liée au timer s'arrete jusqu'a la fin de l'instruction .
langage DEILPH
merci d'avance
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 30 sept. 2008 à 19:55
je connais pas le langage DEILPH ... ^^
Normalement un timer ne s'arrête pas tant que son intervalle n'est pas définie à 0 ou sa propriété Enabled à False. Néanmoins, il utilise les ressources système pour se répéter, donc il peut avoir des problèmes de fonctionnement en cas de surcharge des ressources système.
Essaye de rendre plus légère ta base, de la faire fonctionner plus fluidement, et place eventuellement un Application.ProcessMessages dans ton timer.
Ou utilise un Thread.
Salut : Petite correction Bacterius
"son intervalle n'est pas définie à 0" : un timer admet comme valeur limite non pas zéro mais 17ms donc quant on utilise un interval inférieur à 17 l'interval réel est de 17ms
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 1 oct. 2008 à 21:38
je pense que, si ton application est monothread, le lancement de la procedure associée au OnTimer se fera une fois la procedure en cours terminée.
Par exemple, si tu as un timer avec un interval de 1000, et que la procedure OnTimer est la suivante :
procedure TForm1.Timer1Timer(Sender: TObject);
begin
sleep(5000);
end;
alors le 2eme appel de cette procedure ne se fera pas 1s apres la premiere, mais 5s apres, le temps de terminer le 1er appel.
donc, si tu veux que ton traitement lourd n'interfere pas sur le timer, je te conseille plutot de faire ce traitment dans un thread a part.
@francky : tres interessant comme remarque
Vous n’avez pas trouvé la réponse que vous recherchez ?