Access 2002

Как ведет себя Access в качестве сервера автоматизации


Вы уже получили общее представление об автоматизации приложений Microsoft Office, прочитав главу 10. Большая часть сказанного в ней относится и к Access, однако у этой программы есть ряд особенностей, о которых следует поговорить отдельно. Разработчики Access 2002 попытались смоделировать поведение этой программы таким образом, чтобы оно больше согласовывалось с поведением остальных приложений Office, однако для того чтобы код автоматизации, написанный для Access 97, работал надлежащим образом в Access 2002, он должен быть модифицирован.

По умолчанию Access является однопользовательским (single-use) сервером автоматизации. Как и при работе с другими однопользовательскими серверами, с помощью функции CreateObject (и оператора New) создается новый экземпляр Access, и названная функция возвращает указатель на этот экземпляр. Копию приложения Access 97, созданную клиентом автоматизации, пользователь не мог закрыть самостоятельно, воспользовавшись, например, командой File Exit или щелкнув на кнопке закрытия окна. Access продолжала свою работу, чтобы вызовы методов или свойств, осуществленные с использованием автоматизации, могли быть выполненными. В ответ на названные действия Access закрывала текущую базу данных и минимизировала свое окно, но оставалась загруженной. И только метод Quit позволял уничтожить переменную объекта Application и закрыть приложение.

В Access 2000 ситуация изменилась: теперь поведение этой программы больше похоже на поведение других автоматизируемых приложений — и не только тех, что входят в состав пакета Microsoft Office. Пользователь может самостоятельно прервать выполнение большинства программ, работающих в качестве серверов автоматизации.

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