grand prophete
Messages postés13Date d'inscriptionmardi 18 janvier 2005StatutMembreDernière intervention 1 juin 2006
-
10 mai 2006 à 11:05
NHenry
Messages postés15128Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 9 juin 2024
-
11 mai 2006 à 08:05
Bonjour
Je cherche à détecter quand une de mes variables de type booléen passe à true. En fait je veux m'en servir pour éxécuter une fonction uniquement lorsqu'il y a un événement type front montant dessus (en fait c'est un bit affecté à une variable), et non pas sur front descendant.
NHenry
Messages postés15128Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 9 juin 2024159 10 mai 2006 à 11:14
Bonjour
Tu peux créer un thread qui regarde la valeur de ce booleen.
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
NHenry
Messages postés15128Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 9 juin 2024159 10 mai 2006 à 11:28
Bonjour
Tu utilise la classe Thread de l'espace System.Threading
dim MonThread as new System.Threading.Thread(addressof NomProcedureSub)
MonThread.Name=Nomduthread"
MonThread.Start
Et n'oubli pas de l'arrêter à la fin de ton app.
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
grand prophete
Messages postés13Date d'inscriptionmardi 18 janvier 2005StatutMembreDernière intervention 1 juin 2006 10 mai 2006 à 11:31
en fait je parlais pas de créer le thread, je connais ça, mais de comment regarder la valeur du booléen. Il faut vraiment que j'ai quelque chose du genre:
si évenement front montant sur le booléen --> on éxécute la fonction
si évenement front descendant sur le booléen --> on ne fait rien
Vous n’avez pas trouvé la réponse que vous recherchez ?
NHenry
Messages postés15128Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 9 juin 2024159 10 mai 2006 à 11:36
Bonjour
Tu prend une référence sur un objet contenant ton Booléen, tu tu en récupére la valeur régulièrement.
Un test tout bête :
dim lAncValue as boolean
do
if lAncValue<>MonObjet.Bolléen Then
lAncValue=MonObjet.Bolléen
if lAncValue then Méthode à éxécutée
End If
loop
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
grand prophete
Messages postés13Date d'inscriptionmardi 18 janvier 2005StatutMembreDernière intervention 1 juin 2006 10 mai 2006 à 14:44
En fait ce test ne me sert à rien, il ne fait juste que recopier l'état de mon bit :
dim lAncValue as boolean
do
if lAncValue<>MonObjet.Bolléen Then
lAncValue=MonObjet.Bolléen
if lAncValue then Méthode à éxécutée
End If
loop
lAncValue ne reste à true que quelques millisecondes, ma fonction n'a pas le temps de s'éxécuter entièrement j'ai l'impression vu qu'elle est assez longue. Ce que je veux dire c'est "si tu détectes un front montant, éxécute 1 fois ma fonction", un peu comme si je lui disais de le faire en cliquant sur un bouton, sauf que la c'est sur front montantd'un bit.
NHenry
Messages postés15128Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 9 juin 2024159 11 mai 2006 à 08:05
Bonjour
Il est possible que ce soit à cause du tampon du tread.
dim lAncValue as boolean
do
if lAncValue<>MonObjet.Bolléen Then
lAncValue=MonObjet.Bolléen
if lAncValue then Méthode à éxécutée
End If
System.Threading.Thread.Sleep(10) 'Ajoute ça, ça évite de charger le proc à 100% loop
Si tu veux déclencher uniquement une fois ta fonction, utilise un autre booléen.
Ce code éxécute la méthode à chaque front détecté (dans la limite des possibilité de la machine)
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)