Принципы внедрения и связывания объектов
Операционная система Windows позволяет:
• создавать комплексные документы, содержащие несколько разных типов данных;
• обеспечивать совместную работу нескольких приложений при подготовке одного документа;
• переносить и копировать объекты между приложениями.
Так, например, рисунок, созданный в графическом редакторе Paint, можно скопировать в текстовый документ, разрабатываемый в текстовом процессоре WordPad.
То же можно делать и с фрагментами звукозаписи и видеозаписи. Разумеется, звуковой объект нельзя отобразить на печатной странице, но если документ электронный, то его можно вставить в текст в виде значка. Щелчок на этом значке во время просмотра документа позволит прослушать связанную с ним звукозапись.
Возможность использования в одном документе объектов различной природы является очень мощным инструментом Windows. Она основана на так называемой концепции внедрения и связывания объектов (OLE — Object Linking and Embedding).
Внедрение объектов
Под внедрением объектов подразумевается создание комплексного документа, содержащего два или более автономных объектов. Обычным средством внедрения объектов в документ является их импорт из готового файла, в котором данный объект хранится. Так, например, если в графическом редакторе Paint был создан и сохранен на диске файл рисунка ABCD.BMP, то в текстовом процессоре WordPad этот рисунок можно вставить в текстовый документ с помощью команды Вставка > Объект. При этом открывается диалоговое окно Вставка объекта.
Импорт вставляемого объекта обеспечивается переключателем Создать из файла, а его выбор на диске — кнопкой Обзор. Кроме графических объектов в текстовый документ можно внедрять и объекты другой природы: тексты, фрагменты звукозаписи и видеозаписи.
При сохранении комплексного документа происходит сохранение и текста, и всех внедренных в него объектов. Рисунок, ранее существовавший в виде отдельного графического файла, теперь внедрен в текстовый документ и располагается внутри него. Разумеется, при этом размер исходного текстового документа возрастает на величину внедренных объектов.
Связывание объектов
Однако мы могли поместить рисунок в текстовый документ и другим способом. В том же диалоговом окне Вставка объекта есть флажок, который называется Связь. Если установить этот флажок перед вставкой объекта, то происходит другой тип вставки, который называется связыванием. Связывание отличается от внедрения тем, что сам объект не вставляется в документ, а вместо этого вставляется только указатель на местоположение объекта. Когда при просмотре документа читатель дойдет до этого указателя, текстовый процессор обратится по адресу, имеющемуся в указателе, и отобразит рисунок в тексте документа.
При использовании связывания объектов, а не внедрения, размер результирующего комплексного документа практически не увеличивается, так как указатель занимает очень мало места. Однако если не принять специальные меры, то при передаче такого документа заказчику не произойдет передача связанных объектов, поскольку они останутся в своих местах хранения. Это явление называется разрывом, или потерей связи. Потерянные связи надо восстанавливать. Потеря связи может происходить даже при простом перемещении связанных объектов из одной папки в другую. Таким образом, при использовании метода связывания объектов необходимо специально контролировать целостность связей между объектами и выполнять операции обслуживания этих связей (обновления и восстановления).
Сравнение методов внедрения и связывания
И тот и другой методы имеют свои области применения. Все зависит от формы и назначения документа. Внедряя объекты, мы избавляемся от необходимости поддерживать и обслуживать связи, но при этом можем получать файлы огромных размеров, с которыми трудно оперировать. Связывая объекты, мы резко уменьшаем размеры файлов и значительно повышаем производительность компьютера, но вынуждены следить за тем, чтобы все связанные объекты хранились строго в тех папках, в которые они были помещены в момент создания связи.
С принципами связывания и внедрения объектов непосредственно соприкасается принцип совместного использования объектов.
В корпоративных вычислительных системах нередко используют стандартизированные объекты (бланки документов, логотипы предприятий и т. п.), доступ к которым (без права изменения) имеют большие группы сотрудников.
Такие объекты удобно вставлять в результирующий документ методом связывания. Во-первых, это позволяет значительно сократить объем документации предприятия, так как один и тот же объект может использоваться во всех документах без размножения. Во-вторых, такой подход позволяет администрации предприятия легко изменять (в случае необходимости) стандартный объект и иметь уверенность в том, что при использовании любого документа, имеющего с ним связь, произойдет автоматическая подмена объекта. При таком подходе за пределы предприятия не выйдет ни один документ, напечатанный на бланке, имеющем устаревшие реквизиты.
Итак, на практике обычно поступают следующим образом. Если документ готовится для печати на принтере или для просмотра на экране в пределах локальной сети предприятия, то объекты в него вставляют методом связывания. Если же документ готовится для передачи в электронном виде во внешние структуры, в него объекты внедряются.
OLE-серверы и OLE-клиенты
Объект — это очень специфическое образование, и не каждое приложение может его создать. Те приложения, которые способны создавать объекты для передачи другим приложениям, называются OLE-серверами, а те, которые позволяют внедрять или связывать чужие объекты в свои документы, называются OLE-клиентами. Например, при вставке рисунка в текстовый документ графический редактор выполняет роль OLE-сервера, а текстовый процессор — роль 01£-клиента.