Comment utiliser un timer en parallèle? - VB/VBA/VBS - Programmation
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.
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?
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.
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.
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.. )
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.
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?