Access 2002

Разработка классов-оболочек для DLL-функций


Дело в том, что вместе с приложением вам нужно установить и зарегистрировать в системе пользователя и все применяемые им библиотеки типов. Проще всего сделать это с помощью мастера Package and Deployment Wizard, входящего в состав пакета Microsoft Office 2000 Developer. Он сам определяет, что в приложении есть ссылки на библиотеки типов, и соответственно настраивает создаваемую им программу установки. Эта программа сама установит и зарегистрирует библиотеку типов вместе с устанавливаемым приложением.

До сих пор в этой главе рассказывалось об объявлении DLL-функций с помощью оператора Declare и о неявном их объявлении посредством включения в проект VBA ссылки на библиотеку типов. Обе эти возможности имеют свои недостатки. Объявление функций с помощью оператора Declare избавляет вас от

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

Такой модуль класса играет роль библиотеки типов, но, поскольку он включен прямо в приложение, для него не требуется отдельная регистрация. И более того, вы можете не просто объявить в нем часто используемые функции DLL, но и создать для них удобные оболочки, упрощающие решение типичных задач. Для иллюстрации этой технологии мы разработали класс VBA, выполняющий операции с буфером обмена Windows.

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