Object Linking and Embedding

Поделись знанием:
Перейти к: навигация, поиск

OLE (англ. Object Linking and Embedding, произносится как oh-lay [олэй]) — технология связывания и внедрения объектов в другие документы и объекты, разработанная корпорацией Майкрософт.

В 1996 году Microsoft переименовала технологию в ActiveX.

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

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

OLE используется при обработке составных документов (англ. compound documents), может быть использована при передаче данных между различными несвязанными между собой системами посредством интерфейса переноса (англ. drag-and-drop), а также при выполнении операций с буфером обмена. Идея внедрения широко используется при работе с мультимедийным содержанием на веб-страницах (пример — Веб-ТВ), где используется передача изображения, звука, видео, анимации в страницах HTML (язык гипертекстовой разметки) либо в других файлах, также использующих текстовую разметку (например, XML и SGML). Однако технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента. Например, если OLE оперирует таблицами Microsoft Excel, то программа Excel должна быть инсталлирована на машине пользователя.





Технология

OLE 1.*

OLE 1.0 был выпущен в 1990 году на основе технологии DDE (Dynamic Data Exchange), использовавшейся в более ранних версиях операционной системы Microsoft Windows. В то время как технология DDE была сильно ограничена в количестве и методах передачи данных между двумя работающими программами, OLE имел возможность оперировать активными соединениями между двумя документами либо даже внедрить документ одного типа в документ другого типа.

OLE-серверы и клиенты взаимодействуют с системными библиотеками при помощи таблиц виртуальных функций (англ. virtual function tables, VTBL). Эти таблицы содержат указатели на функции, которые системная библиотека может использовать для взаимодействия с сервером или клиентом. Библиотеки OLESRV.DLL (на сервере) и OLECLI.DLL (на клиенте) первоначально были разработаны для взаимодействия между собой с помощью сообщения WM_DDE_EXECUTE, предоставляемого операционной системой.

OLE 1.1 позднее развился в архитектуру COM (component object model) для работы с компонентами программного обеспечения. Позднее архитектура COM была преобразована и стала называться DCOM.

Когда объект OLE помещен в буфер обмена информацией, он сохраняется в оригинальных форматах Windows (таких, как bitmap или metafile), а также сохраняется в своём собственном формате. Собственный формат позволяет поддерживающей OLE-программе внедрить порцию другого документа, скопированного в буфер, и сохранить её в документе пользователя.

OLE 2.0

Следующим эволюционным шагом стал OLE 2.0, сохранивший те же цели и задачи, что и предыдущая версия. Но OLE 2.0 стал надстройкой над архитектурой COM вместо использования VTBL. Новыми особенностями стали автоматизация технологии drag-and-drop, in-place activation и structured storage.

ActiveX

В 1996 году Microsoft переименовала технологию OLE 2.0 в ActiveX. Были представлены элементы управления ActiveX, ActiveX документы и технология Active Scripting. Эта версия OLE в основном используется веб-дизайнерами для вставки в страницы мультимедийных данных.

См. также

  • DDE (Dynamic Data Exchange)

Напишите отзыв о статье "Object Linking and Embedding"

Ссылки

  • [msdn.microsoft.com/en-us/library/19z074ky(VS.80).aspx MSDN: Основы OLE]
  • [msdn.microsoft.com/en-us/library/df267wkc(VS.71).aspx MSDN: OLE]
  • [msdn.microsoft.com/en-us/library/bwa2bx93(VS.71).aspx MSDN: Введение в технологию COM]
  • [msdn.microsoft.com/en-us/library/ms694363(VS.85).aspx MSDN: COM]
  • [msdn.microsoft.com/en-us/library/k851ext3(VS.71).aspx MSDN: MFC COM]

Отрывок, характеризующий Object Linking and Embedding

– Жена для совета, теща для привета, а нет милей родной матушки! – сказал он. – Ну, а детки есть? – продолжал он спрашивать. Отрицательный ответ Пьера опять, видимо, огорчил его, и он поспешил прибавить: – Что ж, люди молодые, еще даст бог, будут. Только бы в совете жить…
– Да теперь все равно, – невольно сказал Пьер.
– Эх, милый человек ты, – возразил Платон. – От сумы да от тюрьмы никогда не отказывайся. – Он уселся получше, прокашлялся, видимо приготовляясь к длинному рассказу. – Так то, друг мой любезный, жил я еще дома, – начал он. – Вотчина у нас богатая, земли много, хорошо живут мужики, и наш дом, слава тебе богу. Сам сем батюшка косить выходил. Жили хорошо. Христьяне настоящие были. Случилось… – И Платон Каратаев рассказал длинную историю о том, как он поехал в чужую рощу за лесом и попался сторожу, как его секли, судили и отдали ь солдаты. – Что ж соколик, – говорил он изменяющимся от улыбки голосом, – думали горе, ан радость! Брату бы идти, кабы не мой грех. А у брата меньшого сам пят ребят, – а у меня, гляди, одна солдатка осталась. Была девочка, да еще до солдатства бог прибрал. Пришел я на побывку, скажу я тебе. Гляжу – лучше прежнего живут. Животов полон двор, бабы дома, два брата на заработках. Один Михайло, меньшой, дома. Батюшка и говорит: «Мне, говорит, все детки равны: какой палец ни укуси, все больно. А кабы не Платона тогда забрили, Михайле бы идти». Позвал нас всех – веришь – поставил перед образа. Михайло, говорит, поди сюда, кланяйся ему в ноги, и ты, баба, кланяйся, и внучата кланяйтесь. Поняли? говорит. Так то, друг мой любезный. Рок головы ищет. А мы всё судим: то не хорошо, то не ладно. Наше счастье, дружок, как вода в бредне: тянешь – надулось, а вытащишь – ничего нету. Так то. – И Платон пересел на своей соломе.
Помолчав несколько времени, Платон встал.
– Что ж, я чай, спать хочешь? – сказал он и быстро начал креститься, приговаривая:
– Господи, Иисус Христос, Никола угодник, Фрола и Лавра, господи Иисус Христос, Никола угодник! Фрола и Лавра, господи Иисус Христос – помилуй и спаси нас! – заключил он, поклонился в землю, встал и, вздохнув, сел на свою солому. – Вот так то. Положи, боже, камушком, подними калачиком, – проговорил он и лег, натягивая на себя шинель.
– Какую это ты молитву читал? – спросил Пьер.
– Ась? – проговорил Платон (он уже было заснул). – Читал что? Богу молился. А ты рази не молишься?
– Нет, и я молюсь, – сказал Пьер. – Но что ты говорил: Фрола и Лавра?
– А как же, – быстро отвечал Платон, – лошадиный праздник. И скота жалеть надо, – сказал Каратаев. – Вишь, шельма, свернулась. Угрелась, сукина дочь, – сказал он, ощупав собаку у своих ног, и, повернувшись опять, тотчас же заснул.
Наружи слышались где то вдалеке плач и крики, и сквозь щели балагана виднелся огонь; но в балагане было тихо и темно. Пьер долго не спал и с открытыми глазами лежал в темноте на своем месте, прислушиваясь к мерному храпенью Платона, лежавшего подле него, и чувствовал, что прежде разрушенный мир теперь с новой красотой, на каких то новых и незыблемых основах, воздвигался в его душе.


В балагане, в который поступил Пьер и в котором он пробыл четыре недели, было двадцать три человека пленных солдат, три офицера и два чиновника.
Все они потом как в тумане представлялись Пьеру, но Платон Каратаев остался навсегда в душе Пьера самым сильным и дорогим воспоминанием и олицетворением всего русского, доброго и круглого. Когда на другой день, на рассвете, Пьер увидал своего соседа, первое впечатление чего то круглого подтвердилось вполне: вся фигура Платона в его подпоясанной веревкою французской шинели, в фуражке и лаптях, была круглая, голова была совершенно круглая, спина, грудь, плечи, даже руки, которые он носил, как бы всегда собираясь обнять что то, были круглые; приятная улыбка и большие карие нежные глаза были круглые.
Платону Каратаеву должно было быть за пятьдесят лет, судя по его рассказам о походах, в которых он участвовал давнишним солдатом. Он сам не знал и никак не мог определить, сколько ему было лет; но зубы его, ярко белые и крепкие, которые все выкатывались своими двумя полукругами, когда он смеялся (что он часто делал), были все хороши и целы; ни одного седого волоса не было в его бороде и волосах, и все тело его имело вид гибкости и в особенности твердости и сносливости.