Операционные системы. Учебное пособие. Марапулец Ю.В. - 211 стр.

UptoLike

Составители: 

в документ текстового редактора WordPad, Paint выступает в роли сервера, а WordPad - в
роли клиента. Редактор WordPad не обязан понимать данные, которые содержатся в гра-
фическом файле, - для отображения этих данных он вызывает OLE-функции. Если сис-
тема не может самостоятельно отобразить эти данные, она вызывает сервер, т.е. Paint,
который отображает данные в окне программы WordPad.
Такие приложения, как Word, WordPad, Excel и т.п., являются одновременно и кли-
ентами, и серверами. Эти приложения могут как принимать OLE-объекты, предостав-
ленные другими серверами, так и выступать в роли OLE-серверов по отношению к дру-
гим приложениям-клиентам. Редактор Write в Windows З.х функционирует только как
OLE-клиент и не располагает возможностями сервера. А вот программа Paint служит
только OLE-сервером и не способна исполнять роль клиента. Она может только редак-
тировать изображения и передавать их другим приложениям.
Поскольку Paint является автономным приложением и в то же время представляет
собой OLE-сервер, эта программа считается полным сервером. В отличие от полных
серверов, мини-серверы не могут работать как автономные приложения и не содержат
возможностей для открытия и сохранения файлов. Они могут только предоставлять свои
услуги OLE-клиентам.
Серверы любого типа могут предоставлять несколько типов услуг. Например, Qua-
ttro Pro предлагает услуги Quattro Pro Graph и Quattro Pro Notebook, a Microsoft Word -
Microsoft Word Document и Microsoft Word Picture.
Тип данных, экспортируемых сервером, обобщенно называется классом объекта.
Например, программа Paintbrush экспортирует объекты класса PBrush. Excel поддержи-
вает классы ExcelWorksheet и ExcelChart. Серверы регистрируют свои классы в систем-
ном реестре. Каждым классом может управлять только один сервер.
Для каждого класса объектов регистрируется также набор команд. OLE-командой
или, по терминологии разработчиков, глаголом (verb) называется определенное дейст-
вие, которое сервер может выполнять над объектом. Например, часто используются та-
кие команды, как Edit и Play. Когда пользователь выбирает объект в составном доку-
менте, приложение-клиент читает список команд для данного класса объектов и
помещает соответствующие опции в меню. Пользователь манипулирует объектом, вы-
полняя его команды. Различные объекты откликаются на разные команды.
Добавление объекта в документ-контейнер - это очень простой процесс. Из прило-
жения-клиента пользователь выбирает тип вставляемого объекта. Например, в поле спи-
ска пользователю может предлагаться выбор изображения, электронной таблицы, видео-
клипа и т.д. Этот список изменяется в зависимости от доступных серверов.
Предположим, вы работаете в Microsoft Word и решили внедрить в свой документ
графическое изображение. Для этого запускается программа Paint - зарегистрированный
сервер растровых изображений. Затем открывается BMP-файл, выбирается необходимая
часть рисунка и копируется в буфер обмена. В Microsoft Word открывается файл доку-
мента и вызывается меню Edit. В этом меню можно выбрать одну из трех команд: Paste,
Paste Link и Paste Special. Все три команды предназначены для вставки графического
изображения в текстовый файл. Простейшая команда Paste осуществляет внедрение
объекта. (Если бы программа Paint не поддерживала механизм OLE, команда Paste про-
сто скопировала бы объект, а не внедрила его.)
В составной документ можно также внедрять AVI- или WAV-файлы (видео- и зву-
ковые вставки). Но каким образом внедренный видеоклип или звуковая вставка отобра-
жаются на экране? В таких случаях приложение создает специальное графическое пред-
ставление, называемое пакетом.
Пакет представляет собой значок, который указывает положение OLE-объекта в
документе. При двойном щелчке на этом значке система определяет, какой тип данных
содержится в пакете, и выполняет соответствующую команду.
213
в документ текстового редактора WordPad, Paint выступает в роли сервера, а WordPad - в
роли клиента. Редактор WordPad не обязан понимать данные, которые содержатся в гра-
фическом файле, - для отображения этих данных он вызывает OLE-функции. Если сис-
тема не может самостоятельно отобразить эти данные, она вызывает сервер, т.е. Paint,
который отображает данные в окне программы WordPad.
      Такие приложения, как Word, WordPad, Excel и т.п., являются одновременно и кли-
ентами, и серверами. Эти приложения могут как принимать OLE-объекты, предостав-
ленные другими серверами, так и выступать в роли OLE-серверов по отношению к дру-
гим приложениям-клиентам. Редактор Write в Windows З.х функционирует только как
OLE-клиент и не располагает возможностями сервера. А вот программа Paint служит
только OLE-сервером и не способна исполнять роль клиента. Она может только редак-
тировать изображения и передавать их другим приложениям.
      Поскольку Paint является автономным приложением и в то же время представляет
собой OLE-сервер, эта программа считается полным сервером. В отличие от полных
серверов, мини-серверы не могут работать как автономные приложения и не содержат
возможностей для открытия и сохранения файлов. Они могут только предоставлять свои
услуги OLE-клиентам.
      Серверы любого типа могут предоставлять несколько типов услуг. Например, Qua-
ttro Pro предлагает услуги Quattro Pro Graph и Quattro Pro Notebook, a Microsoft Word -
Microsoft Word Document и Microsoft Word Picture.
      Тип данных, экспортируемых сервером, обобщенно называется классом объекта.
Например, программа Paintbrush экспортирует объекты класса PBrush. Excel поддержи-
вает классы ExcelWorksheet и ExcelChart. Серверы регистрируют свои классы в систем-
ном реестре. Каждым классом может управлять только один сервер.
      Для каждого класса объектов регистрируется также набор команд. OLE-командой
или, по терминологии разработчиков, глаголом (verb) называется определенное дейст-
вие, которое сервер может выполнять над объектом. Например, часто используются та-
кие команды, как Edit и Play. Когда пользователь выбирает объект в составном доку-
менте, приложение-клиент читает список команд для данного класса объектов и
помещает соответствующие опции в меню. Пользователь манипулирует объектом, вы-
полняя его команды. Различные объекты откликаются на разные команды.
      Добавление объекта в документ-контейнер - это очень простой процесс. Из прило-
жения-клиента пользователь выбирает тип вставляемого объекта. Например, в поле спи-
ска пользователю может предлагаться выбор изображения, электронной таблицы, видео-
клипа и т.д. Этот список изменяется в зависимости от доступных серверов.
      Предположим, вы работаете в Microsoft Word и решили внедрить в свой документ
графическое изображение. Для этого запускается программа Paint - зарегистрированный
сервер растровых изображений. Затем открывается BMP-файл, выбирается необходимая
часть рисунка и копируется в буфер обмена. В Microsoft Word открывается файл доку-
мента и вызывается меню Edit. В этом меню можно выбрать одну из трех команд: Paste,
Paste Link и Paste Special. Все три команды предназначены для вставки графического
изображения в текстовый файл. Простейшая команда Paste осуществляет внедрение
объекта. (Если бы программа Paint не поддерживала механизм OLE, команда Paste про-
сто скопировала бы объект, а не внедрила его.)
      В составной документ можно также внедрять AVI- или WAV-файлы (видео- и зву-
ковые вставки). Но каким образом внедренный видеоклип или звуковая вставка отобра-
жаются на экране? В таких случаях приложение создает специальное графическое пред-
ставление, называемое пакетом.
      Пакет представляет собой значок, который указывает положение OLE-объекта в
документе. При двойном щелчке на этом значке система определяет, какой тип данных
содержится в пакете, и выполняет соответствующую команду.

                                         213