Access 2002

Элемент управления, содержащий блоки ненужного кода


Очевидно, что элемент управления, содержащий блоки ненужного кода, не сможет быстро загрузиться на компьютер пользователя. Исходя из этого, Microsoft не стала настаивать на том, чтобы элементы управления реализовывали все интерфейсы программирования. Напротив, разработчикам была предоставлена возможность реализовывать только те из них, которые необходимы для функционирования элементов. Однако последнее слово остается за приложением хоста (браузером или инструментом разработки), которое окончательно «решает», какой интерфейс будет поддерживаться элементом управления.

В результате всего этого на вашем компьютере может быть инсталлировано множество элементов ActiveX, но только некоторые из них вы сможете использовать в Access. Имейте это в виду при выборе элементов управления для своего приложения.

Перехват событий с помощью переменных, объявленных с WithEvents

Вы только что увидели, как элементы управления ActiveX предоставляют свои события Access и VBA, чтобы можно было писать код их обработки. Заинтересовало ли вас, как все это работает? Когда Access загружает элемент ActiveX, она считывает из его библиотеки типов информацию о его событиях и регистрирует перехватчик (event sink) каждого из них. Перехватчик события — это код VBA, вызываемый из компонента, тогда как обычно процедуры компонента вызываются из кода VBA, как бывает при обращении к его свойствам и методам. До сих пор использующие Access разработчики могли включать процедуры обработки событий элементов ActiveX только в модуль формы. Однако в последней версии VBA появилась возможность создавать такие обработчики (не только для элементов ActiveX, но и для серверов внешних процессов) и в других модулях классов, используя новое ключевое слово WithEvents.

Комментарии закрыты