Comment utiliser un timer en parallèle?

Comment utiliser un timer en parallèle? - VB/VBA/VBS - Programmation

Marsh Posté le 30-08-2005 à 12:46:16    

Bonjour,  
 
je voudrais lancer un timer en meme temps qu'une instruction de l'autre coté (multi tache?)
 
plus concrètement je voudrais essayer d'ouvrir un document et si après 10 secondes, il s'apercoit que le document n'a pas été ouvert, il passe à l'instruction suivante.
 
d'avance, merci?

Reply

Marsh Posté le 30-08-2005 à 12:46:16   

Reply

Marsh Posté le 30-08-2005 à 17:04:07    

Timer -> VBA ou VB6 ?
 
Tu mets a un endroit, Timer1.Enabled=True et ton timer démarre.
Timer_Time() ' l'évènement
te permet de gérer ce qui ce passe au bout de x secondes.


---------------
now : do nothing
Reply

Marsh Posté le 30-08-2005 à 17:45:13    

vb6
 
mais quand tu fais timer1.enabled : ok ton timer démarre mais comment tester sa valeur?

Reply

Marsh Posté le 30-08-2005 à 18:36:41    

attendre que sa valeur cible soit atteinte. Soit mettre un timer de 1s et compter les impulsions.


---------------
now : do nothing
Reply

Marsh Posté le 31-08-2005 à 09:49:05    

lol, je suis très débutant en vb mais voila ce que j'ai pondu avec ta proposition
 
Private Sub Command1_Click()
Timer1.Enabled = True
DoEvents
MsgBox "test", vbInformation
End Sub
 
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 5000
Label1.Caption = "test"
End Sub
 
Private Sub Timer1_Timer()
Label1.Caption = "OK"
End Sub
 
ce bout de code marche mais le problème c'est que dans mon application ou je dois l'implémenter
il doit lancer word et je dois mettre ce timer car sur certains documents, word n'arrive pas a ouvrir le document et bloque le programme, je ne sais pas si le timer va s'incrémenter pdt ce temps...
car j'ai mis une msgbox pour tester dans le bout de code ci dessus et le timer ne s'incrémente pas du tout!  il faut cliquer sur OK pour pouvoir continuer. :(
 
d'avance, merci.

Reply

Marsh Posté le 31-08-2005 à 10:16:26    

Ben ca me parrait normale.. comme tu l'as dit dans ton premier message, tu cherches a faire une appli "multi-taches" (i.e., lancer des sous-processus, ici des documents word, et attendre de savoir si ils se sont bien lancé avec ton processus principal)
Je ne sais pas comment faire ceci en VB. Mais je doute que ce soit avec un timer.
 
Dans d'autres langages (je sais le faire en C, sous un environnemet Unix), il existe des fonctions specifiques pour la gestion des sous-processus, ou le processus mere "ecoute" ses processus fils, et recupere leur valeur de retour quand ils se terminent.
 
Je pense qu'il doit exister une methode similaire pour effectuer ce que tu veux faire en VB sous Windows.. mais je ne sais pas le faire. Si tu trouves, merci de poster ton explication ici (pour ma culture générale.. ;) )


---------------
Guendalf
Reply

Marsh Posté le 31-08-2005 à 11:35:41    

lol, je suis en train de crever mon cerveau sur internet pcq chez les anglais ca cogitent pas mal... ce qu'il y a c'est que mon anglais est moyen et que le multithreading est super complexe... hum
 
bref guendalf, tu as touché dans le mil, c'est ca que je veux faire mais d'après mainte lecture sur internet, il n'est pas possible de le faire en VB6 mais on peut par contre le simuler... je cherche tjrs et si quelqu'un a la solution... je lui serai très reconnaissant.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed