Evenement sur le changement d'une variable ? (multi-threading) [Résolu]

Messages postés
498
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
13 juillet 2015
- - Dernière réponse : el_teedee
Messages postés
498
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
13 juillet 2015
- 29 août 2005 à 13:41
Bonjour à tous,



j'aimerais déclarer un évènement sur le changement d'une variable dans une autre classe. Pour
l'instant, je scanne ce changement par une boucle while dans ma première classe, et je me suis
aperçu que je perdais des données (c'est dans le cadre de la réception
sur port série).



En gros voici l'architecture du truc :

[Form1]
[Form2]


fonction1( ) <-------- variable _ma_variable

{
\ ma_fonction( )

...

`-- {_ma_variable = valeur1;} //Le passage à ma valeur1 doit
déclencher Form1.fonction1( )


}



petit précision, il faut que fonction1 se fasse en parallèle de ma_fonction( ) càd :



ma_fonction( )


{


fonction1( ) <-----------------
_ma_variable = valeur1;

{
...

...
...

}
}



et non pas :



ma_fonction( )


{


fonction1( ) <-----------------
_ma_variable = valeur1;

{


...



} --------------------------> ...


...


}

Pour l'instant, j'ai quelques idées qui se mélangent dans ma tête entre delegate, et évènement, mais ce n'est pas très clair.

Si qqln veut bien me filer un coup de main, pour définir tout ça.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
49
2
Merci
bah, normalement si cette variable est dans une autre classe, tu y accèdes par une propriété. non ?

donc ta classe qui contient ta variable, ajoute ceci :

public event EventHander MaVariableChanged;

dans ta propriété :

public string MaVariable {
get {return maVariable;}
set {
maVariable = value;
if (MaVariableChanged != null) {
MaVariableChanged(this, EventArgs.Empty);
}
}

et dans ta form1 tu t'abonnes à l'évènement MaVariableChanged pour déclencher ta fonction1

Sébastien FERRAND

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de sebmafate
Messages postés
498
Date d'inscription
mercredi 7 juillet 2004
Dernière intervention
13 juillet 2015
7
0
Merci
Ouais, bah c bien à ca que je pensais



Déclarer l'évènement, et le déclencher dans la propriété de ma
variable, mais je suis pas aussi catégorique que toi dans la syntaxe de
tout ça :p

(entre parenthèse, c'est sur la variable etat_navette que je dois capter le changement)



Merci bcp Seb
Commenter la réponse de el_teedee

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.