Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Problème avec timer Ven 10 Fév 2012 - 0:17 | |
| Bon...jour/soir J'ai rencontré un petit problème sur le prog que je suis en train de faire. Quelqu'un peut m'expliquer pourquoi ceci ne fonctionne pas ? - Code:
-
LABEL test ' ce n'est pas mon prog, mais ceci résume bien mon pb... DIM a$, File$ : File$ = "C:\tmp\doc.txt" LIST 1 : WIDTH 1,WIDTH(0)-40: HEIGHT 1,HEIGHT(0)-70 TIMER 2:ON_TIMER 2,test:TIMER_INTERVAL 2,100 FILE_OPEN_READ 1,File$ WHILE FILE_EOF(1)<>1 FILE_READLN 1,a$ ITEM_ADD 1,a$ END_WHILE FILE_CLOSE 1 END
test: RETURN
Pour le test, j'ai pris un fichier texte de 200Ko Si je met en commentaire la ligne qui défini le timer, cela fonctionne: je récupère tout le fichier Si le timer est actif : je récupère que le début du fichier... Pourquoi ?
Dernière édition par Nardo26 le Ven 10 Fév 2012 - 0:33, édité 1 fois | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec timer Ven 10 Fév 2012 - 0:21 | |
| C'est visiblement le même problème que celui auquel je me suis heurté avec un ON_CHANGE placé avant le END. J'ai fait un post ( voir ici), et Jack a dit qu'il s'agit d'un bug qu'il corrigera - regarde son explication. | |
|
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Problème avec timer Ven 10 Fév 2012 - 0:27 | |
| Exact Klaus, Manifestement cela concerne TOUS les événements... Donc pour l'instant, il faut activer ceux-ci juste avant le END. Dans mon cas : un TIMER_OFF au moment de la déclaration suivi d'un TIMER_ON juste avant le END... Wait & see...la balle est dans le camp de Jack ! | |
|
Invité Invité
| Sujet: Re: Problème avec timer Ven 10 Fév 2012 - 3:33 | |
| Cela me paraît évident. C'est d'ailleurs une discussion que nous avons eue au début de ton arrivée concernant les timers. Chaque fois qu'une action est plus longue que l'exécution d'un timer, elle n'est pas finie. Maintenant si tu as un timer avec des variables, et qu'une de celle-ci est également dans le code qui s'exécute au déclenchement d timer, ta variable ne vaut plus rien pour ce code. timer_off est régulièrement nécessaire pour exécuter un programme qui doit aller jusqu'au bout, et ne pas être détourné. À l'inverse des autres événements (y compris on_change), la queue de file n'intervient pas. Je ne vois pas d'exemple en tête où cela intervient. |
|
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Problème avec timer Ven 10 Fév 2012 - 9:12 | |
| Bonjour Cosmos !
Ce n'est pas tout à fait ça : Là je ne parle pas de durée d'exécution d'une routine de timer. Dans l'exemple ci-dessus, le timer ne fait rien et donc ne devrait pas avoir d'incidence sur le déroulement du code...
Jack, nous l'a encore confirmé, les évènements comme les timers, sont actifs bien avant d'arriver sur le END (l'exemple le démontre bien).
Que le déroulement du prog principal soit de temps en temps stoppé par des évènements, c'est normal... Mais une fois que l'évènement est traité, le prog principal doit reprendre là où il a été interrompu. Si j'avais un gros traitement à faire dans la routine du timer (par exemple un traitement plus long que la période de déclenchement du timer), j'aurai mis un TIMER_OFF en début de routine et un TIMER_ON en fin...
| |
|
Contenu sponsorisé
| Sujet: Re: Problème avec timer | |
| |
|