Составители:
Для некоторых типов данных, таких как AVI- или WAV-файлы, представление
данных на экране имеет смысл только в виде пакета. По умолчанию значок пакета пере-
дается из программы, в которой были созданы соответствующие данные.
Когда объект попадает в документ, клиент обеспечивает способы его активизации.
Обычно активизация осуществляется двойным щелчком на объекте или его значке.
Так, например, при редактирования изображения в документе Microsoft Word.
OLE-библиотеки обеспечивают непосредственное (т.е. непосредственно в составном до-
кументе) редактирование изображения с помощью программы Paint. Для этого в меню
Edit появляется подменю Bitmap Image Object с тремя командами: Edit, Open и Con-
vert, которые передаются программой Paint. Для редактирования изображения с помо-
щью программы Paint вызывается команда Edit, являющаяся основной командой. При
этом в окне Word появляются меню, палитра и панели инструментов программы Paint,
что позволяет редактировать изображение, не покидая документа. При выборе команды
Open происходит открытие программы Paint, в которую загружается внедренный доку-
мент. Внесенные изменения отобразятся в документе Word при выходе из программы
Paint, что послужит сигналом для обновления составного документа.
Составные документы можно передавать от одного пользователя к другому и чи-
тать на разных компьютерах с помощью одной и той же программы. Если в новой сис-
теме отсутствуют некоторые серверы, объекты все равно отображаются правильно, по-
скольку OLE-библиотеки самостоятельно обрабатывают стандартные форматы буфера
обмена, например растровые изображения или метафайлы. Однако активизировать объ-
екты без вызова сервера невозможно. Например, вы ничего не сможете сделать с WAV-
пакетами без программы-проигрывателя.
Может показаться, что два разных механизма встраивания накладывают противо-
речивые требования на объекты данных. Чтобы объект отображался в любом приложе-
нии, независимо от присутствия в системе исходной программы-сервера, объект должен
содержать данные в некоем общем, легко распознаваемом формате, например в формате
метафайла или растрового изображения.
С другой стороны, механизм OLE позволяет пользователю продолжить редактиро-
вание объекта даже после того, как объект вставлен в новый документ. Чтобы сервер
мог редактировать объекты, они должны содержать данные в том формате, который ис-
пользуется для внутреннего представления объектов на сервере. Например, Excel не
сможет продолжить редактирование ячеек электронной таблицы, которые были преоб-
разованы в формат метафайла, но мало какая из программ-клиентов будет понимать
внутренний формат данных Excel так хорошо, что отобразит электронную таблицу в
системе, где Excel не установлен.
Решение этой проблемы заключается в предоставлении двух экземпляров данных
для каждого OLE-объекта. Чуть позже вы увидите, как эта задача реализуется средства-
ми сервера, но вкратце можно сказать, что почти каждый OLE-объект содержит данные
в собственном (платформно-зависимом) формате, в том виде, в котором эти данные бы-
ли созданы сервером, а также в одном из нескольких стандартных форматов представ-
ления - обычно в виде метафайла, - которые могут отображаться любыми программами-
клиентами.
Технология OLE организована с помощью функций высокого уровня, реализую-
щих низкоуровневые процессы совместного использования данных. OLE-функции раз-
мещены в трех DLL-модулях. Библиотека OleCli32.DLL содержит все функции, которые
используются OLE-клиентами, а библиотека OleSvr32.DLL содержит все функции, ко-
торые используются OLE-серверами. В технологии OLE 1.0 эти библиотеки обменива-
ются данными и командами с помощью DDE-сообщений. Третья библиотека,
Shell32.DLL, поддерживает базу данных серверов и типов данных и обеспечивает пра-
вильную обработку OLE-запросов.
214
Для некоторых типов данных, таких как AVI- или WAV-файлы, представление данных на экране имеет смысл только в виде пакета. По умолчанию значок пакета пере- дается из программы, в которой были созданы соответствующие данные. Когда объект попадает в документ, клиент обеспечивает способы его активизации. Обычно активизация осуществляется двойным щелчком на объекте или его значке. Так, например, при редактирования изображения в документе Microsoft Word. OLE-библиотеки обеспечивают непосредственное (т.е. непосредственно в составном до- кументе) редактирование изображения с помощью программы Paint. Для этого в меню Edit появляется подменю Bitmap Image Object с тремя командами: Edit, Open и Con- vert, которые передаются программой Paint. Для редактирования изображения с помо- щью программы Paint вызывается команда Edit, являющаяся основной командой. При этом в окне Word появляются меню, палитра и панели инструментов программы Paint, что позволяет редактировать изображение, не покидая документа. При выборе команды Open происходит открытие программы Paint, в которую загружается внедренный доку- мент. Внесенные изменения отобразятся в документе Word при выходе из программы Paint, что послужит сигналом для обновления составного документа. Составные документы можно передавать от одного пользователя к другому и чи- тать на разных компьютерах с помощью одной и той же программы. Если в новой сис- теме отсутствуют некоторые серверы, объекты все равно отображаются правильно, по- скольку OLE-библиотеки самостоятельно обрабатывают стандартные форматы буфера обмена, например растровые изображения или метафайлы. Однако активизировать объ- екты без вызова сервера невозможно. Например, вы ничего не сможете сделать с WAV- пакетами без программы-проигрывателя. Может показаться, что два разных механизма встраивания накладывают противо- речивые требования на объекты данных. Чтобы объект отображался в любом приложе- нии, независимо от присутствия в системе исходной программы-сервера, объект должен содержать данные в некоем общем, легко распознаваемом формате, например в формате метафайла или растрового изображения. С другой стороны, механизм OLE позволяет пользователю продолжить редактиро- вание объекта даже после того, как объект вставлен в новый документ. Чтобы сервер мог редактировать объекты, они должны содержать данные в том формате, который ис- пользуется для внутреннего представления объектов на сервере. Например, Excel не сможет продолжить редактирование ячеек электронной таблицы, которые были преоб- разованы в формат метафайла, но мало какая из программ-клиентов будет понимать внутренний формат данных Excel так хорошо, что отобразит электронную таблицу в системе, где Excel не установлен. Решение этой проблемы заключается в предоставлении двух экземпляров данных для каждого OLE-объекта. Чуть позже вы увидите, как эта задача реализуется средства- ми сервера, но вкратце можно сказать, что почти каждый OLE-объект содержит данные в собственном (платформно-зависимом) формате, в том виде, в котором эти данные бы- ли созданы сервером, а также в одном из нескольких стандартных форматов представ- ления - обычно в виде метафайла, - которые могут отображаться любыми программами- клиентами. Технология OLE организована с помощью функций высокого уровня, реализую- щих низкоуровневые процессы совместного использования данных. OLE-функции раз- мещены в трех DLL-модулях. Библиотека OleCli32.DLL содержит все функции, которые используются OLE-клиентами, а библиотека OleSvr32.DLL содержит все функции, ко- торые используются OLE-серверами. В технологии OLE 1.0 эти библиотеки обменива- ются данными и командами с помощью DDE-сообщений. Третья библиотека, Shell32.DLL, поддерживает базу данных серверов и типов данных и обеспечивает пра- вильную обработку OLE-запросов. 214
Страницы
- « первая
- ‹ предыдущая
- …
- 210
- 211
- 212
- 213
- 214
- …
- следующая ›
- последняя »