Access 2002

Классы серверов автоматизации


В предыдущих примерах, работавших с классом Appl ication, каждый раз, когда запрашивался новый экземпляр этого класса, в ответ загружалась новая копия Microsoft Excel. Так происходило потому, что по умолчанию класс Appl ication является однопользовательским. Но вообще-то все классы серверов автоматизации разделяются на две категории: однопользовательские и многопользовательские.

Для создания нового экземпляра однопользовательского класса клиентом автоматизации каждый раз загружается новый экземпляр серверного приложения. Мы проиллюстрировали это на  10.4. Каждая объектная переменная клиента ссылается на объект Application, созданный отдельной копией Excel.

Многопользовательские классы

Многопользовательские классы, напротив, позволяют нескольким клиентам автоматизации совместно использовать один экземпляр класса. Примером является класс Application приложения Microsoft Outlook. В определенный момент времени может существовать только один экземпляр этого класса. И хотя клиентские приложения могут создавать его объекты разными способами — с помощью ключевого слова New или функции CreateObject — все ссылки указывают на один и тот же объект серверного приложения. Приложения, предоставляющие своим клиентам многопользовательские классы, обычно допускают загрузку в Windows только одного своего экземпляра. Схема взаимодействия клиентов с многопользовательским классом сервера показана на  10.5.

Более того, классы, однопользовательские по умолчанию, иногда могут применяться в многопользовательском режиме. Этот вариант иллюстрирует  10.6. Например, класс Excel Application можно применять как многопользовательский, несмотря на то что по умолчанию он является однопользовательским.

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