- Код: Выделить всё
Public Property Get List() As clsList
Set List = mList
End Property
Вот собственно вопрос при обращении к этому свойству я получаю ссылку на объект mList, но отследить изменения в классе из контрола я никак немогу (допустим чтобы его перерисовать). Пробывал объявлять mList через WithEvents, но возникает ошибка циклической ссылки т.к. объект mList содержит объектное свойство Item, которое всвою очередь содержит свойство List аналогичное контролу.. Может как то можно по другому?
Код класса clsList
- Код: Выделить всё
Dim WithEvents mvarList As Item 'local copy
Private mvarCaption As Long 'local copy
Public Event Change()
Public Property Set List(vData As Item)
'used when assigning an Object to the property, on the left side of a Set statement.
'Syntax: Set x.List = Form1
Set mvarList = vData
End Property
Public Property Get List() As Item
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.List
Set List = mvarList
End Property
Public Property Let Caption(ByVal vData As Long)
'used when assigning a value to the property, on the left side of an assignment.
'Syntax: X.Caption = 5
mvarCaption = vData
RaiseEvent Change
End Property
Public Property Get Caption() As Long
'used when retrieving value of a property, on the right side of an assignment.
'Syntax: Debug.Print X.Caption
Caption = mvarCaption
End Property
Private Sub mvarList_Change()
RaiseEvent Change
End Sub
Код класса Item
- Код: Выделить всё
Private mvarIcon As Long 'local copy
Public Event Change()
Dim WithEvents mvarNewList As clsList
Public Property Set NewList(ByVal vData As clsList)
Set mvarNewList = vData
RaiseEvent Change
End Property
Public Property Get NewList() As clsList
Set NewList = mvarNewList
End Property
Public Property Let Icon(ByVal vData As Long)
mvarIcon = vData
RaiseEvent Change
End Property
Public Property Get Icon() As Long
Icon = mvarIcon
End Property
Private Sub mvarNewList_Change()
RaiseEvent Change
End Sub
Выскакивает ошибка Circular dependecies between module