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

el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 29 août 2005 à 11:33 - Dernière réponse : el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention
- 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 

2 réponses

Répondre au sujet
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 29 août 2005 à 12:11
+2
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sebmafate
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 29 août 2005 à 13:41
0
Utile
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.