Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TPISPP_MOYe_FINAL.doc
Скачиваний:
4
Добавлен:
28.10.2018
Размер:
151.55 Кб
Скачать

11.Автоматизація ole. Сервери ole. Доступ до сервера автоматизації на прикладі редактора ms Word і табличного процесора ms Excel.

Автоматизация OLE(Object Linking and Embedding).

Автоматизация — это одна из возможностей, предоставляемых технологией Microsoft COM.Она используется приложениями (называемыми COM-серверами) для предоставления доступа к их объектам, а также к свойствам и методам этих объектов другим приложениям (называемым COM-клиентами). Например, текстовый редактор MS Word, будучи COM-сервером, может предоставлять другим приложениям доступ к документу, абзацу с помощью соответствующих объектов. Объекты обладают свойствами и методами. Свойство — это характеристика объекта. Методом называется действие, кот-е можно выполнить с объектом. Вся информация об объектах содержится в библиотеках типов. Библиотеки типов хранятся в специальном бинарном формате и обычно представлены в виде файлов с расширениями *.olb или *.tlb, а также могут содержаться внутри исполняемых файлов (*.exe) или динамически загружаемых библиотек (*.dll). Библиотеки типов можно просматривать с помощью утилиты OleView. В объектных моделях приложений Microsoft Office имеется главный объект, доступный приложению-контроллеру и представляющий само автоматизируемое приложение. Для приложений Microsoft Office он называется Application. Контроллер автоматизации должен выполнять следующие действия: Проверить, запущена ли копия приложения-сервера. В зависимости от результатов проверки запустить копию автоматизируемого приложения Office либо подключиться к уже имеющейся копии.Сделать окно приложения-сервера видимым. Выполнить какие-то действия с приложением-сервером. Закрыть приложение-сервер, если его копия была запущена данным контроллером, или отключиться от него, если контроллер подключился к уже имеющейся копии.Механизм, называемый OLE автоматизацией предназначен для предоставления одними приложениями своих сервисов другим приложениям. Приложение, предоставляющее сервисы,называют сервером автоматизации. Приложение, использующее сервис,называют клиентом или контроллером автоматизации. Каждый сервер автоматизации обладает уникальным идентификатором GUID. Сервер автоматизации предоставляет своим клиентам для доступа объект специального типа -dispatch object.Для создания экземпляра объекта автоматизации используется функция CreateOleObject. Описание всех констант, свойств и методов, предоставляемых для автоматизации с помощью внешних приложений,хранится в библиотеке типов.

10.Основи com. Об'єкт com. Інтерфейси com. Сервери com. Фабрика класу. Інтерфейс Iunknown.

СОМ(Component Object Model) является платформонезав-ой объектно-ориентированной технологией предоставления бинарных компонентов, которые можно использовать как локально, так и сети. Она определяет стандартный механизм, с помощью которого одна часть программного обеспечения предоставляет свои сервисы другой и который работает, не смотря на границы процесса и ЭВМ. В технологии СОМ приложение предоставляет для использования свои службы, применяя для этого объекты СОМ. Одно приложение содержит как минимум один объект. Каждый объект имеет один или несколько интерфейсов.

Клиент получает доступ к службам объекта только через интерфейс и его методы. Этот механизм является ключевым. Клиенту достаточно знать несколько базовых интерфейсов, чтобы получить информацию о составе свойств и методов объекта. Уже созданный интерфейс не может быть изменен.

Объект всегда работает в составе сервера СОМ. Сервер может быть динамической библиотекой или исполняемым файлом. Объект может иметь собственные свойства и методы или использовать данные и службы сервера.Для доступа к методам объекта клиент должен получить указатель на соответ- ствующий интерфейс. Для каждого интерфейса существует собственный указатель. Доступ к свойствам объектов осущ-ся только через его методы. Взаимодействие между клиентом и объектом обеспечивается базовыми механизмами СОМ. От клиента скрыто, где именно расположен объект. Механизм обеспечения взаимодействия между удаленными элементами СОМ называется маршалингом. Если одновременно несколько клиентов обращаются к одному объекту, то для каждого клиента создается отдельный экземпляр класса. За выполнение этой операции отвечает фабрика класса.

Интерфейс является средством, кот-е позволяет клиенту правильно обратиться к объекту СОМ, а объекту ответить так, чтобы клиент его понял.

Первым делом при постр-ии СОМ компонента нужно реализовать обязательный интерфейс IUknown. Он выполняет 2 ф-ции:

1) Обеспечить стандартный способ запроса опред. интерфейса данного компонента пользователем. Эту возможность предоставляет метод QueryInterface.

2) Обеспечение способа управления времени жизни компонента извне .Предоставлен 2 – мя методами : AddRef, Release. Эти методы управляют количеством ссылок.

Для идентификации каждый интерфейс имеет два атрибута: имя (начинаться с символа "I"); глобальный уникальный идентификатор. Каждый объект СОМ обязательно имеет интерфейс lUnknown. Метод Queryinterface возвращает указатель на интерфейс объекта. Интерфейс IUnknown обеспечивает работу механизма учета ссылок. Объект должен существовать до тех пор, пока его использует хотя бы один клиент. При этом клиент не может самостоятельно уничтожить объект, ведь с ним могут работать и другие клиенты. При завершении работы с интерфейсом клиент обязан вызвать метод Release. Этот метод уменьшает счетчик ссылок на единицу. После обнуления счетчика объект уничтожает себя.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]