Связывание и внедрение объектов (OLE)

Цель лабораторной работы: Приобрести навыки использования технологии OLE (создания составных документов). Изучить теоретический материал данной работы.

Краткие теоретические сведения

В операционной системе Windows реализована технология связи приложений, которая обеспечивает гибкую интеграцию специализированных программных пакетов, таких как текстовые процессы, электронные таблицы, базы данных в единую систему. Эта технология дает возможность каждому из них расширить свои функциональные возможности. Она называется протоколом связывания и внедрения объектов OLE (от английского Object Linking and Embedding).

OLE ориентирован на программы работы с документами и позволяет создавать составные документы, т.е. документы, состоящие из разнородной информации (текста, графики, электронных таблиц, баз данных). При этом сохраняется возможность редактирования этой информации с использованием функций тех программ, где эта информация создана.

Перечень терминов, используемых при описании технологий связывания и внедрения объектов.

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

Клиент OLE – приложение, которое содержит объект. Например, если поместить электронную таблицу в документ текстового редактора, то этот редактор становится клиентом.

Сервер OLE – приложение, которое клиент вызывает для работы с объектом. Для редактирования объекта клиент должен вызывать исходное приложение. В результате имеем два приложения, совместно работающие над созданием одного составного документа.

Составной документ – документ, содержащий один или несколько объектов. Любой документ, содержащий связанный или внедренный объект, можно считать составным.

Контейнер – объект, содержащий другие объекты.

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

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

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

Внедрение следует применять в том случае, если требуется распространение документа. При любых перемещениях составного документа внедренные данные, в отличии от связанных, будут перемещаться вместе с ними.

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

Каждое приложение, поддерживающее технологию 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 позволяет внедренный объект редактировать как в окне программы-сервера (меню объекта/объект…/открыть) так и не выходя из программы-клиента, при этом клиент заменяет панель инструментов и структуру меню на те, которые присущи серверу (двойной щелчок левой кнопкой мыши на объекте или меню объекта/объект…/изменить). Связанный объект можно редактировать только в окне сервера.

Связывание и внедрение объектов (OLE) - student2.ru

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

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

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

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

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

Ярлыки

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

Порядок выполнения

1. Создайте папки «Проектный отдел» и «Заказчик». В папке «Проектный отдел» создайте четыре папки «Главный инженер», «Технологический отдел», «Экономический отдел», «Строительный отдел». В этих папках создайте соответственно файлы проект1.docx, проект1.xlx, проект1.xlx, проект1.bmp.

2. В файле технологического отдела создайте таблицу с колонками Оборудование|Количество. Произвольно заполните несколько строк.

3. В файле экономического отдела создайте таблицу с колонками Оборудование|Цена. По таблице постройте диаграмму.

4. В документе строительного отдела нарисуйте эскиз цеха.

5. В файле главного инженера создайте разными способами объекты связанные с созданными файлами. Каждый объект расположите под названиями соответствующих отделов. Закройте файл.

6. Внесите изменения в файлы различных отделов. Сохраните изменения.

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

8. От лица главного инженера внесите в объекты возможные замечания.

9. Отделы учитывают замечания и сохраняют изменения.

10. В папку «Проектный институт» поместите графический документ с условным изображением логотипа «Логотип.bmp».

11. В документы всех отделов поместите связанный с этим файлом объект.

12. Измените файл «Логотип.bmp». Сохраните изменения.

13. В документах отделов обновите связь с этим файлом.

14. В папке «Заказчик» создайте документ «Проект.docx» Поместите в него аналогичные созданным внедрением объекты. Сохраните документ.

15. Сравните размеры файлов составных документов из папок «Главный инженер» и «Заказчик».

Контрольные вопросы

1. Для чего предназначена технология OLE.

2. Что такое объект OLE.

3. Перечислите способы создания объектов OLE.

4. Какие из приложений Word, Excel, Paint, Equation могут выступать в роли сервера, какие в роли клиента? Какие из них можно использовать в качестве центрального проекта?

5. В каких случаях целесообразно применять связывание объектов, а в каких внедрение?

6. Что такое OLE – сервер и OLE – клиент?

Библиографический список

1.Информатика. Базовый курс : учеб. пособие /под ред. С. В. Симоновича. - 2-е изд. - М. ; СПб.: Питер; Н. Новгород:, 2009. - 639 с.

2.Кокс, Дж. Microsoft Office Word 2007/с пер. англ. Дж. Кокс, Дж. Преппернау. - М. : ЭКОМ Паблишерз, 2007. - 543 с.

3.Фрай, К. Д. Microsoft Office Excel 2007 пер. с англ. К. Д. Фрай. - М. : ЭКОМ Паблишерз, 2009. - 479 с.

4.Мединов, О. Office 2007: самоучитель / О. Мединов. - СПб. ПИТЕР, 2009. - 176 с.

5.Информатика. Базовый курс : учеб. пособие / под ред. С. В. Симонович. - 2-е изд. - М. ; СПб.: Питер; Н. Новгород, 2009. - 639 с.

6.Филимонова, Е. В. Математика и информатика: учебник / Е. В. Филимонова. - 3-е изд., перераб. - М. : Дашков и К0, 2010. - 480 с.

Учебное издание

Рыбакова Анна Ивановна

Кочеткова Инесса Андреевна

Информатика

Методические указания к выполнению лабораторных работ

для студентов I курса

очной формы обучения по специальности

120401.65 «Прикладная геодезия»

Подписано в печать . Формат 60x84/16. Усл. печ. л.5,2 . Уч.-изд. л.

Тираж экз. Заказ Цена

Отпечатано в Белгородском государственном технологическом университете им. В. Г. Шухова

308012, г. Белгород, ул. Костюкова, 46

Наши рекомендации