[2005 PE] Timer en arrière plan [Résolu]

cs_nitrique 346 Messages postés jeudi 1 mai 2003Date d'inscription 4 avril 2011 Dernière intervention - 27 sept. 2005 à 17:37 - Dernière réponse : ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention
- 28 sept. 2005 à 14:13
Bonjour,

J'ai une application qui a un timer qui scanne le port COM (qui ne touche pas au graphisme de mon application) toutes les 3 secondes.

C cool, seulement, quand je déplace ma fenetre ou que je fait des certains trucs (comme un popup menu par exemple, ...), ça bloque si le timer fait sa boucle à ce moment.

Comment faire pour que le timer n'ai pas d'incidence sur mon application ?

Merci d'avance.

David, à VERSAILLES
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 28 sept. 2005 à 11:06
3
Merci
regarde ici :

http://phidels.com/php/index.php3?page=../php/pagetelechargementzip.php3&id=416

@+

Nico { http://www.ni69.new.fr/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !

Merci ni69 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de ni69
Meilleure réponse
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 28 sept. 2005 à 13:58
3
Merci
pour information Tcomport utilise des threads à l'envoi d'une chaine

Il vaut mieux utiliser la fonction WriteStrAsync(const Str: string; var
AsyncPtr: PAsync); qui n'est pas bloquante. plutot que la fonction
WriteStr(const Str: string) qui attend la fin de transmition.

Merci jlen100 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de jlen100
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 27 sept. 2005 à 18:26
0
Merci
Essaye d'incorporer des Application.ProcessMessages dans le code du timer...

@+

Nico { http://www.ni69.new.fr/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
Commenter la réponse de ni69
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 27 sept. 2005 à 20:03
0
Merci
salut,

tu n'iadiques pas par quel composant tu accede au port COM mais
j'ai eu ce genre de probleme dans une application. ça arrivais quand je
dectectais une trame partielle et que j'attendais la fin de trame dans
le timer: par exemple je recevais les 5 premiers caracteres et
j'attendais les 5 suivants. j'ai résolu le problème en ne lisant que
les caracteres effectivement reçus et en reportant la lecture des
suivants à la scrutation suivante.

Je ne sais pas si c'et ton cas mais ça peut être une exiplication.
Commenter la réponse de jlen100
cs_nitrique 346 Messages postés jeudi 1 mai 2003Date d'inscription 4 avril 2011 Dernière intervention - 28 sept. 2005 à 10:12
0
Merci
Salut ni69 et jlen100,

Je met déja des Application.ProcessMessages un peu partout (un peu trop d'ailleurs à mon gout).

J'accède au port COM par le composant tcomport.
Mais mon problème ne vient pas de l'échange des données car je ne fait qu'envoyer une commande toutes les 3 secondes et ma procédure est largement finie (et correctement) avant qu'il en relance une autre.

Je désire un peu lancer genre une pseudo "2ème instance", un autre thread si je puis me permettre de ce timer, qui n'ait pas d'incidence sur mon prog.

David, à VERSAILLES
Commenter la réponse de cs_nitrique
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 28 sept. 2005 à 10:14
0
Merci
Tu peux justement utiliser les threads

@+

Nico { http://www.ni69.new.fr/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
Commenter la réponse de ni69
cs_nitrique 346 Messages postés jeudi 1 mai 2003Date d'inscription 4 avril 2011 Dernière intervention - 28 sept. 2005 à 10:48
0
Merci
Bin en fait heu....

Comment ça marche les threads ?

David, à VERSAILLES
Commenter la réponse de cs_nitrique
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 28 sept. 2005 à 14:13
0
Merci
Très juste jlen100

@+

Nico { http://www.ni69.new.fr/ }




<hr size="2" width="100%">

N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
Commenter la réponse de ni69

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.