foufidou
Messages postés156Date d'inscriptionmardi 31 août 2004StatutMembreDernière intervention21 mai 2015
-
4 mars 2007 à 21:32
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 2018
-
5 mars 2007 à 09:39
bonjour a tout le monde,
je voulais mettre en suspens une fonction pendants 5 secondes mais j'y arrive pas !!!
est ce que vous pouvez m'aidez ??
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 4 mars 2007 à 21:49
Salut,
essaie ceci : System.Threading.Thread.Sleep 5000 (je ne fais pas de DotNet, je ne sais donc pas si le paramètre est bien en milisecondes, et s'il faut ou pas le placer entre parenthèses)
@++
<hr size="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
hvb
Messages postés939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 4 mars 2007 à 22:05
cependant, dans une application monothread, la fenetre va se figer, et ne permet aucune action a l'utilisateur.
Une procédure de ce type règle le problème :
Friend
Sub hbwait(
ByVal ms_to_wait
As
Long)
Dim hb
As
Double
hb = Environment.TickCount + ms_to_wait
While Environment.TickCount < hbSystem.Threading.Thread.Sleep(1)
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 4 mars 2007 à 23:12
Bonsoir,
Hvb, ta méthode à l'air pas mal mais qui à priori ne marche pas avec moi :(
Foufidou, si tu veux faire une pause sans bloquer le thread principal UI, la meilleure solution consiste à mettre ta fonction dans un thread à part et à présent dans ta fonction tu peux faire ta pause comme Mortalino l'a montré.
foufidou
Messages postés156Date d'inscriptionmardi 31 août 2004StatutMembreDernière intervention21 mai 2015 5 mars 2007 à 01:51
Mon probleme c'est que j'ai pas attaquer les thread donc la je suis bloqué c'est a dire ma fenetre reste figé, je dirai meme bloqué jusqu'au fin de traitement !!!
comment je pourrais utiliser le thread pour que le traitement de mon application continu a fonctionner tout en ajoutant une ligne dans une listbox indiquant la progression de ce traitement !
bon tout d'abord je vai essayer la procedure de hvb en esperant que ca va marcher !!
merci tout de meme pour vos reponse les amis !!
hvb
Messages postés939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 5 mars 2007 à 02:18
hmm, si ça ne colle pas à ton problème et que tu es en .net2 (vb2005), alors renseigne toi sur les BackGroundWorker, qui est une gestion de threads simplifiée et qui peut intéragir avec les objets de ta feuille de manière "thread-safe"
foufidou
Messages postés156Date d'inscriptionmardi 31 août 2004StatutMembreDernière intervention21 mai 2015 5 mars 2007 à 02:38
j'ai pas pu dormir avant d'essayer ta procedure hvb, donc voila ça marche à merveille et j'ai obtenu ce que je voulais !!
mais pour moi ca reste a savoir qu'elle est le vrai interet du thread si cette procedure parvient à nous donné satisfaction ?
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 5 mars 2007 à 09:39
Foufidou: Un thread ne s'utilise pas simplement pour faire des pauses sans bloquer ton interface.
Je les utilise quand j'ai un long traitement et/ou un traitement qui risque de figer mon interface.
Donc le plus judicieux si c'est le cas pour ta fonction est de l'executer dans un autre thread que le thread principal.
Le réel intêret du thread dans ton cas par rapport à ce que te propose Hvb et les ressources utilisés qui seront moindre.
++