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


Где и как следует создавать обработчики событий для экземпляров класса - часть 2


Теперь становится понятным, что тогда шла речь о частном случае. Помните, при создании класса ExcelWithEvents, говоря о его структуре, мы обращали внимание на то, что в классе объявлен всего лишь один объект с событиями. Теперь становится понятным, это отражало специфику частного случая, - приложение, обычно, существует в единственном экземпляре. Личностей же, реагирующих на события, может быть много, - для каждой из них нужно задать свой экземпляр объекта в классе, чтобы была возможность написать индивидуальный обработчик события. Взгляните на реализацию класса Личности:

Пример 4.6.

(html, txt)

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




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



Книжный магазин