Можно в классе объявлять событие как реакцию на сложившуюся ситуацию. Объявляется событие с ключевым словом Event:
Public Event MyMessage()
После того, как событие объявлено можно его вызывать в коде.
Public Property Let Name(Name As String) RaiseEvent MyMessage End Property
В данном случае при вызове метода Let будет генерироваться событие. Естественно в реальной программе событие может генерироваться по некоторому условию. Например, при начале сохранения данных или при окончании. Может оно генерироваться и при достижении какого-то параметра критической ситуации. Итак, событие в COM нужно:
Теперь давайте посмотрим, что нужно сделать клиенту для использования события. Сначала мы должны описать, что у нас будет объект, который обрабатывает события:
Private WithEvents Balans As CChet
Теперь этот объект виден в списке и виден список сообщений:
Но объект придется создавать, так как мы объявили только ссылку:
Private Sub Form_Load() Set Balans = New CChet End Sub Private Sub Form_Unload(Cancel As Integer) Set Balans = Nothing End Sub
Все остальное остается в силе, только мы сможем получать и обрабатывать события. Итак, чтобы обрабатывать сообщения от COM нужно объявить объект с приставкой WithEvents.