Access 2002

Создание экземпляров классов


Сеанс автоматизации (то есть автоматизированного управления сервером) начинается с того, что приложение-клиент создает экземпляр класса сервера. Это значит, что оно устанавливает связь с приложением-сервером и сообщает ему, какими его объектами хочет управлять. В результате приложение-клиент получает указатель на объекты сервера, которые сохраняет в своих объектных переменных. Используя эти переменные, оно может управлять объектами сервера точно так же, как управляет встроенными объектами Access, — через их свойства и методы.

Существует два подхода к созданию объектов сервера автоматизации: раннее связывание и позднее связывание. Каждый из них имеет свои преимущества и недостатки.

При раннем связывании (early binding) вы на этапе разработки включаете в проект ссылку на библиотеку типов сервера и тем самым информируете VBA о сервере и его объектах. Ранним связыванием эта технология называется потому, что VBA заранее, еще до компиляции кода, знает, какие классы (и какие их свойства и методы) поддерживает сервер.

При позднем связывании (late binding) ссылка на библиотеку типов не требуется. Объект создается во время выполнения программы. До выполнения приложения VBA понятия не имеет, что за объекты вы собираетесь создавать.

Большинство автоматизируемых компонентов поддерживают раннее связывание, и, по возможности, лучше всегда использовать именно его. Это дает следующие преимущества.

О Скорость. Поскольку вы заранее предоставляете VBA информацию о сервере, VBA не нужно для каждой строки вашего кода встраивать в приложение код, проверяющий уже на этапе выполнения, поддерживается ли сервером свойство или метод, к которому вы обращаетесь.

О Стандартные функции редактора VBA. VBA получает возможность выполнять синтаксическую проверку вашего кода и помогать вам при его написании, завершая, например, начатые вами строки (с помощью IntelliSense) или предлагая списки свойств, методов и их параметров.

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