Шаг 17 - События

Можно в классе объявлять событие как реакцию на сложившуюся ситуацию. Объявляется событие с ключевым словом Event:

Public Event MyMessage()

После того, как событие объявлено можно его вызывать в коде.

gif/17_1.gif (1238 b)

Public Property Let Name(Name As String)
RaiseEvent MyMessage
End Property

В данном случае при вызове метода Let будет генерироваться событие. Естественно в реальной программе событие может генерироваться по некоторому условию. Например, при начале сохранения данных или при окончании. Может оно генерироваться и при достижении какого-то параметра критической ситуации. Итак, событие в COM нужно:

Теперь давайте посмотрим, что нужно сделать клиенту для использования события. Сначала мы должны описать, что у нас будет объект, который обрабатывает события:

Private WithEvents Balans As CChet

Теперь этот объект виден в списке и виден список сообщений:

gif/17_2.gif (1987 b)

Но объект придется создавать, так как мы объявили только ссылку:

Private Sub Form_Load()
Set Balans = New CChet
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set Balans = Nothing
End Sub

Все остальное остается в силе, только мы сможем получать и обрабатывать события. Итак, чтобы обрабатывать сообщения от COM нужно объявить объект с приставкой WithEvents.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.