Bonsoir a tous,
Décidément j'ai quelques soucis en ce moment.
J'ai un objet DTOTacheCurrent qui ne contient que des propriétés 'Il s'agit de la propriété 'Terminé' dans mon exemple. Dans chaque accesseur SET de cette classe je lève un événement RaiseEvent afin de capturer les modifications dans une autre classe BLLTacheManager.
Je m'abonne a l’événement de cette facon dans BLLTacheManager :
Problème : lors de la 1ere exécution de la méthode 'Test' j'ai bien un calcul qui s’exécute (voir la méthode 'calcul') mais lors de la 2éme exécution ce sont 2 calculs qui s'exécute, 3 exécutions = 3 fois le même calcul et ainsi de suite....
Code : Sélectionner tout - Visualiser dans une fenêtre à part AddHandler Me._DTO.NotifyPropertyChange, AddressOf Calcul
Le code pour changer la propriété 'Terminé' :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub Test() Dim Bll As New BLLTacheManager(DTOTacheCurrent) Bll.Item.Terminé = True 'DTOTacheCurrent.Terminé = True ' Une autre façon d'accéder a la propriété. End SubMerci beaucoup pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Public NotInheritable Class BLLTacheManager Public Sub New(ByVal DTO As DTOTache) _DTO = DTO AddHandler Me._DTO.NotifyPropertyChange, AddressOf Calcul End Sub Private _DTO As DTOTache Public Property Item() As DTOTache Get Return _DTO End Get Set(ByVal value As DTOTache) _DTO = value End Set End Property Private Sub Calcul(ByVal e As DataEventArgsInfos) Console.Beep() Debug.WriteLine(e.OriginalValue.ToString & " " & e.ProposedValue.ToString) End Sub End Class
Partager