Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бородина А.И. Крошинская Л.И. Сапун О.Л. Модуль...doc
Скачиваний:
8
Добавлен:
15.11.2019
Размер:
3.48 Mб
Скачать

5.4. Механизм связывания и внедрения ole

При передаче данных с помощью буфера обмена, программа, в которую вставляется информация, должна ее «понимать». Однако иногда надо вставить информацию, которую принимающая программа не понимает. Так, в редактируемой с помощью Microsoft Word документ может понадобиться вставить математическую или химическую формулу, нотный фрагмент. Можно выйти из положения, экспортировав формулу или ноты из специализированного редактора в виде графического рисунка. Но это не удобно, так как при изменении исходной формулы или нот надо будет повторять весь описанный процесс снова.

Более удобный способ вставки данных предлагает механизм OLE (Object Linking and Embedding) – связь и внедрение объектов. OLE-технология позволяет установить связь между двумя приложениями, называемыми приложением-источником и приложением-приемником. После того, как в приложении-источнике был создан некоторый объект, OLE-технология позволяет передать полученный объект в приложение-приемник. Приложение-приемник отображает полученный объект на экране и печатает его так, как если бы это был обычный, а не импортированный материал.

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

Например, чтобы вставить в документ, обрабатываемый редактором Microsoft Word, математическую формулу, надо выбрать в меню Вставка пункт Объект, указать в появившемся списке тип вставляемого объекта (в данном случае – Microsoft Equation 3.0) и нажать кнопку [OK]. На экран будет выведено окно Редактора Формул (Equation Editor), в котором можно ввести нужную формулу, а затем выйти из редактора формул. После этого созданная формула будет внедрена в редактируемый документ и станет его частью. При двойном щелчке мышью на изображении данной формулы автоматически выводится меню создавшей ее программы (редактор формул) для ее редактирования.

В OLE – аббревиатура от Object Linking and Еmbedding – ключевым словом является Object (объект). Когда используется OLE, то работают с объектом, причем объектом может быть практически все, что угодно: электронная таблица, сообщение электронной почты, график и т.д. Как следует из аббревиатуры, объекты OLE могут связываться и внедряться в приложение. Для этого соответствующие приложения должны иметь команду Объект в меню Вставка.

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

Для демонстрации OLE поместим область Excel в документ Word. Вместо Специальной вставки выполним команду Объект из меню Вставка. В качестве объекта выберем Лист Microsoft Excel. В результате в документ будет вставлен лист электронной таблицы. Пока не видно, чем это отличается от DDE. Отличие становится очевидным, когда мы два раза нажмем на объект Excel. Excel не выталкивается в приложение, как это происходит при DDE-связи. Вместо этого он объединяет свои инструментальные кнопки и некоторые из своих меню с меню Word, создавая единую редактирующую среду. Это называется активация по месту.

В конечном счете эффект состоит в том, что документ как будто управляет приложениями, которые его используют, вместо того, чтобы заставлять пользователя думать, какие приложения использовать, чтобы создать ту или иную часть документа. Если посмотреть в меню Файл приложения-сервера (к примеру, Excel), вместо Выход, как правило, появляется Выход и Обновление, хотя в меню Файл нормального приложения нет такой команды. Выход и Обновление сохраняет данные сервера в файле, ассоциированном с документом клиента.

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

OLE–технология используется для построения составных документов, слияния различных объектов. Основное достоинство этой технологии – это возможность активизации встроенных объектов. При активизации объекта сам объект обводится штриховой рамкой. Заголовок окна меняется на заголовок вызываемого приложения. Меню представляет собой комбинацию из обоих приложений.