cs_Cpapy
Messages postés133Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention25 septembre 2007
-
18 nov. 2004 à 15:39
cs_Cpapy
Messages postés133Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention25 septembre 2007
-
18 nov. 2004 à 20:04
Bonjour,
J'ai deux programmes A et B qui tournent en parallèle.
-------------------------------------------------------------------------
Avec un Shell le programme A lance le programme B
Le programme B réalise un traitements Itératifs dans un Timer.
Je cherche comment redonner la main au programme A de telle sorte qu'il continue à exécuter les instructions qui sont situées après le Shell.
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 18 nov. 2004 à 19:53
Heu, il me semble bien que de cette manière, tu boucle pendant 3600 secondes soit une heure.
L'objet Timer, c'est en millisecondes. Mais tu ne peux l'utiliser que pour déclencher des actions régulières, pas pour faire une pause.
cs_Cpapy
Messages postés133Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention25 septembre 2007 18 nov. 2004 à 20:04
Bonjour,
Mon problème a été solutionné grâce à vous.
Pour vous éviter de relire toutes les notes que nous avons échangés, je vous rappelle le problème:
J'ai deux programmes A et B qui tournent en parallèle.
---------------------------------------------------------
Avec un Shell le programme A lance le programme B qui réalise un traitement Itératif avec un Timer.
Entre l'exécution du Shell et le retour à l'instruction suivante il s'écoulait plus de 10 Secondes.
Comme le programme semblait boucler, j'interrompais brutalement son exécution. Ce que vous m'avez dit est confirmé: après le Shell on revient bien immédiatement à l'instruction qui suit.
Encore grâce à celui qui m'a dit: Ton problème vient de ton programme B qui prend toutes les ressources. C'est exact !
Dans le programme B j'utilisais un Timer "Artificiel"
Tmp = Timer
DUREE = 3600 (Varie en fonction du type de traitement)
Do While Timer < Tmp + DUREEFLASH
-
-
DoEvents
Loop
C'est en remplaçant ce timer artificiel par un vrai Timer que j'ai réglé mon problème.
Merci encore, sans vous, je mettais mon outil à la poubelle.