Технология автоматизации – OLE Automation
Технология автоматизации позволяет использовать функции одних приложений в других приложениях.
Автоматизация – механизм обмена информацией между процессами в ОСWindows, с помощью которого одна прикладная программа может управлять другой прикладной программой.
Технология автоматизации обеспечивает выполнение базовых функций, позволяющих обособленным программным модулям связываться и обмениваться информацией.
Приложение, которое строится по технологии автоматизации, может выступать в качестве сервера автоматизации, клиента автоматизации или одновременно сервера и клиента автоматизации.
Также объектами OLE Automation являются многие популярные приложения, такие, как компоненты Microsoft Office. Это дает возможность запустить и управлять данным приложением (например, в Excel программно сформировать таблицу, заполнить в ней ячейки и сохранить в файл) из скрипта, написанного на скриптовом языке.
OLE-автоматизация – это механизм, позволяющий одним приложениям управлять и настраивать объекты других приложений.
При этом управляющее приложение называется контроллером автоматизации OLE (OLE Automation Controller), а управляемое - сервером автоматизации OLE (OLE Automation Server). Публикует (propagating) интерфейс, через который программа-клиент может настроить нужные свойства объекта и получить его. Существует два типа серверов автоматизации OLE: внутренний (in-process) и внешний (out-of-process). Внутренний работает в том же адресном пространстве, что и программа-клиент, обычно в виде DLL. Внешний запускается в отдельном адресном пространстве, а иногда на другом компьютере в сети.
Достоинства и недостатки
Основным новшеством технологии OLE стала возможность активизации встроенных объектов. В рамках технологии OLE само понятие объекта приобрело новый смысл. Раньше объектом называли любой фрагмент, переносимый из одного приложения в другое. На самом же деле переносился не сам фрагмент, а лишь его «экранный образ», приложение-источник преобразовывало данные из своего внутреннего формата в один из стандартов Windows, и в таком виде фрагмент вставлялся в приложение-приемник.
В понимании OLE объект представляет собой сочетание данных какого-либо вида во внутреннем формате приложения-родителя и информации о создавшей его программе, размере, времени создания, которая необходима для создания и использования этих данных. Таким образом, объект является законченной структурой, переносимой из одного документа в другой и сохраняющей свои отличительные особенности независимо от типа документа.
Привлекательным в OLE стал метод drag and drop. Его можно применять вместо операции копирования через буфер обмена. Он обеспечивает наглядность процесса обмена данными.
Однако технология OLE использует архитектуру "толстого клиента", то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента. Например, если OLE оперирует таблицами Microsoft Excel, то программа Excel должна быть инсталлирована на машине пользователя.
OLE предназначено для создания среды, в которой пользователь сможет создавать и поддерживать составные документы без потери атрибутов объектов данных с возможностью манипулирования объектами в их исходном виде.
Использование связывания удобнее тем, что оно не приводит к увеличению объема составного документа, кроме того связывание предоставляет возможность установления множественных связей с одним объектом, когда один объект служит источником данных для многих документов.
Внедрение включает в составной документ копию оригинального объекта с его непосредственными данными и данными для управления им, при этом внедренный объект становится частью составного документа. Такой объект существует в единственном экземпляре и только там, где он внедрен. Связь внедренной копии объекта с оригиналом не поддерживается и изменения, внесенные в оригинальный объект, не отражаются на внедренной копии. Редактирование внедренного объекта возможно лишь путем вызова родительского приложения. Внедрение объектов в составной документ приводит к значительному увеличению его размера.
И все же внедрение имеет преимущества в сравнении со связыванием. Первое, составной документ с внедренными объектами может быть перенесен на другой компьютер, где его можно открыть в своем приложении. Второе, внедренный объект редактируется родительским приложением по месту его нахождения в приложении-клиенте.
Разница между связыванием и внедрением заключается в том, где хранятся данные. Связанные данные хранятся в файле-источнике. Файл-приемник содержит только код, в котором содержится имя и местоположение исходного приложения и исходного документа. Внедренные данные хранятся в файле-приемнике и код, связанный с OLE указывает на исходное приложение.
При внедрении увеличивается объем хранимых документов, однако, их легче перемещать, тогда как при связывании, необходимо помнить, что изменение места расположения файлов может привести к ошибочным ссылкам.
Редактирование связанного объекта выполняется в приложении-сервере всегда в отдельном окне. После изменения объекта он должен быть сохранен в том же самом файле, что позволяет получить его новую версию во всех связанных с ним документах. Поэтому связывание чаще всего применяется при совместном использовании объектов (логотип фирмы, бланки стандартных документов и т.п.).
Коротко о главном
Объект OLE (OLE-объект) — произвольный элемент, созданный средствами какого-либо приложения, который можно поместить (внедрить и/или связать) в документ другого приложения. Объектом может быть целый файл или только фрагмент файла.
Сервер OLE (OLE-сервер, исходное приложение, приложение-источник) — это приложение, средствами которого создается объект OLE, т. е. программа, которая обслуживает другое приложение.
Клиент OLE (OLE-клиент, приложение-приемник или приложение-контейнер) — приложение, принимающее объект OLE, т. е. программа, которая пользуется услугами OLEсервера.
Связанные объекты сохраняются в отдельном файле на диске. Благодаря средствам связывания объектов несколько контейнеров - или даже приложение-сервер - могут быть связаны с одним и тем же объектом OLE, расположенным на диске. Если одно из приложений модифицирует связанный объект, внесенные изменения распространяется на все приложения, связанные с данным объектом.
Внедренные объекты хранятся непосредственно в приложениях, являющихся контейнерами OLE. Только контейнерное приложение будет способно осуществлять редактирование внедренного объекта OLE. Внедрение не позволяет другим приложениям осуществлять доступ к импортированным данным (а следовательно, модифицировать или разрушать их), но это существенно усложняет управление данными, помещенными в контейнер.
Контрольные вопросы
1. Какие документы называются составными?
2. Что такое технологии OLE (Object Linking and Embedding)?
3. Чем отличается простая вставка объекта от его внедрения?
4. Как и для чего осуществляется связь между объектами разных документов?
5. В чем различие между связью и внедрением объектов?
6. Назовите типы объектов, которые можно вставить на школьном компьютере.
7. Объясните, как можно изменить OLE – сервер для внедренного объекта.
Упражнение
Ø Откройте файл Упражнение 29.1.docx.
Ø Выясните, какие из приведенных ниже объектов являются связными, а какие – внедренными.
Ø Допишите в ячейках таблицы под каждым объектом.
![]() | ![]() | ![]() | |
Рис. 29.3 | Рис. 29.4 | Рис. 29.5 | Рис. 29.6 |
Раздел 5.
Создание анимированных изображений
Создание анимации – довольно сложная задача. Для ее решения нужны специальные компьютерные программы. Мультимедийные технологии сейчас развиваются быстрыми темпами. Существует много программ для создания анимации. Талантливые специалисты разрабатывают новые идеи и внедряют их в жизнь.