Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информат. лабы.docx
Скачиваний:
188
Добавлен:
23.05.2015
Размер:
1.65 Mб
Скачать

Клиенты и сервера

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

Например, редактор Paint не может выступать в качестве клиента. Это означает, что при помещении в документ текста, он преобразуется в графический элемент и станет частью графического изображения. При этом текст уже не будет объектом OLE, который можно обрабатывать текстовым редактором.

Если приложение предполагается использовать в качестве центрального приложения проекта, желательно, чтобы оно полностью поддерживало OLE.

Основные функции ole

Технология OLE впервые была представлена в Windows 3х (OLE). Она предоставила основной набор функций для связывания и внедрения объектов. К настоящему времени функциональность OLE существенно увеличилась (OLE2).

Буксировка

Буксировка представляет собой самый простой способ создания OLE-объекта. При помощи мыши можно выбрать элемент в приложении-сервере, разместить его в приложение-клиент, после чего он автоматически становится OLE-объектом. При обычной буксировке выделенного объекта он становится OLE-внедренным объектом. Если буксировка выделенного объекта будет осуществляться при нажатой клавише CTRL или SHIFT, он становится OLE-связанным объектом. При буксировке файлов в CorelDRAW с рабочего стола Windows 95, CorelDRAW, прежде чем создать OLE-связанный объект, попытается сначала их импортировать. Для увеличения возможностей контроля за процессом, нажмите при буксировке правую кнопку мыши для вызова контекстного меню. Это меню позволяет задать способ, с помощью которого указанные элементы будут помещены в документ.

Копирование и вставка. Существует несколько способов помещения объектов в составной документ:

Выделить объект в окне и выбрать команду на ленте Главная/Буфер обмена/Копировать. Перейти в окно клиента и выбрать на ленте Главная/Буфер обмена/Вставить/Специальная вставка и указать способ вставки рис.6.1 (вставить или связать).

Захватить объект левой кнопкой мыши и перенести его в окно клиента. В этом случае объект будет внедрен. Некоторые приложения поддерживают функцию перетаскивания объекта правой кнопкой мыши. Необходимо захватить объект правой кнопкой мыши и перенести его в окно клиента. В появившемся меню объекта выбрать способ вставки объекта.

Предыдущие два способа требуют одновременного запуска двух программ. Если требуется вставить содержимое какого-либо файла целиком, а не его части, то эффективнее использовать команду Вставка/Объект …, выбрать вкладку «создание из файла», найти соответствующий файл и указать способ вставки.

Редактирование. OLE позволяет внедренный объект редактировать как в окне программы-сервера (меню объекта/объект…/открыть) так и не выходя из программы-клиента, при этом клиент заменяет панель инструментов и структуру меню на те, которые присущи серверу (двойной щелчок левой кнопкой мыши на объекте или меню объекта/объект…/изменить). Связанный объект можно редактировать только в окне сервера.

Рис.6.1.Режим специальной вставки объекта

Вложенные объекты: OLE позволяет помещать объекты в документ-контейнер, в свою очередь вставленный объект также может выступать в роли контейнера. В OLE2 степень вложенности контейнеров не ограничена.

Независимость связей от места расположения объекта: OLE2 позволяет создавать связи с документами, даже если они не расположены на локальном диске. Это реализуется на базе механизма упрощенного удаленного вызова процедур (LRPC).

Адаптированные связи. Если, используя OLE1, переместить файлы, связанные с составным документом, то все связи нарушаются, т.к. эта версия OLE сохраняет полный путь к связанным данным. OLE2 сохраняет относительное расположение связанных файлов. Это дает возможность перемещать связанные файлы, расположенные в одной папке, без нарушения связей.

Автоматизация OLE. Позволяет клиенту посылать серверу команды, косвенно изменяющие содержимое объекта. Дает возможность работать с сервером без создания видимого экземпляра этого приложения. Автоматизация является частью языка программирования Visual Basic для приложения (VBA).

Ярлыки

В Windows существует еще один способ использования OLE. Любой созданный ярлык является формой OLE, поскольку он представляет собой связь с некоторым другим объектом. В отличие от приложения, которое для хранения всех связей создает составной документ, Windows вынуждена хранить эту информацию на диске. Для этого служат (файлы с расширением LNK). В конечном итоге диск является тем самым контейнером, в котором Windows хранит необходимую ей информацию.