Основы офисного программирования и язык VBA


Реальные объекты и инициирование событий


Остался заключительный штрих в завершение разговора о том, как создаются классы и как ведется работа с объектами, реагирующими на события. Нужно еще рассказать о создании реальных объектов, двойники которых описаны в специальном модуле класса, в нашем примере - в классе Личности. Эти реальные объекты, обычно, находятся в стандартном модуле. В какой -то момент своей жизни, как правило, в самом начале появления, они связываются с двойниками и после этого могут реагировать на события. События инициируются в процессе работы с этими объектами, при вызове некоторых из их методов. Какие из методов класса зажигают события, - этот вопрос решается при проектировании класса, а в какой момент метод будет вызываться, - это прерогатива пользователя, работающего с объектами.

Для класса Личность мы уже описали методы, зажигающие события. Поэтому нам осталось только привести описание стандартного модуля Примеры, в котором ведется работа с двумя объектами, названными FriendOne и FriendTwo:

Пример 4.7.

(html, txt)

В этом модуле объявлены два объекта класса Личность и один объект класса Личности. Две процедуры - Знакомство и CallEvents вызываются в ответ на щелчки командных кнопок в соответствующих обработчиках событий. Первой должна вызываться процедура Знакомство, где объекты FriendOne и FriendTwo получают "нормальные" значения и происходит Знакомство с ними. Важно, что здесь же происходит связывание этих объектов с их двойниками. Обратите внимание, нам понадобился объект FOne класса Личности, чтобы вызвать его метод Connect и связать эти пары объектов. В процессе работы этих модулей будет вестись диалог с пользователем. На следующих рисунках показаны сообщения, выдаваемые обработчиками событий ИзменениеФамилии и ДеньРождения.

Обработчик события ИзменениеФамилии объекта One

Рис. 4.6.  Обработчик события ИзменениеФамилии объекта One

Обработчик события ИзменениеФамилии объекта Two

Рис. 4.7.  Обработчик события ИзменениеФамилии объекта Two

Обработчик события ДеньРождения объекта Two

Рис. 4.8.  Обработчик события ДеньРождения объекта Two

Приведем еще результаты отладочной печати:

Станислав Федотов родился 21.05.39 Катя Павлова родилась 22.03.79 22.03.79 - 22.03.99 13:14:01 Станислав Федотов родился 21.05.39 Катя Волконская родилась 22.03.79




Начало  Назад  Вперед