Прогрессивные технологии программирования. Технология ActiveX

Страницы работы

Содержание работы

Часть 3

ПРОГРЕССИВНЫЕ ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

Глава 10

Технология ActiveX

10.1. Концепция технологии ActiveX

Проблема обмена данными между приложениями различных программных продуктов является исключительно трудоемкой и сложной для программирования. Дело в том, что в Windows нет стандартного метода взаимодействия приложений. При использовании буфера обмена Clipboard требуется редактирование данных принимающим приложением, согласование форматов данных и др. Использование для этого библиотеки Win32 API с большим количеством функций - достаточно трудоемко. Решить эту проблему позволяет технология ActiveX.

Технология ActiveX – это совокупность методов, осуществляющих обмен данными между приложениями, позволяющих приложению объединять данные документов других приложений. Раньше эта технология носила название OLE (Object Linking and Embedding – связывание и внедрение объектов). Технология построена на модели COM (Component Object Model – модель многокомпонентных объектов) – двоичном стандарте интерфейса объектов Windows, ориентированного на объединение исполняемых программных модулей (файлы .EXE и.DLL) во время выполнения. “Технология ActiveX – это будущее операционной системы Windows, а также с точки зрения Microsoft, будущее всей отрасли разработки программного обеспечения” [л. 4, с. 254]. Преимущество ActiveX заключается в следующем: возможен обмен данными в любом формате между любыми приложениями; не требуется ручного редактирования данных в принимающем приложении, так как исходное приложение автоматически запускает редактор.

Основными методами ActiveX являются связывание объекта (E Embedding), внедрение объекта (L Linking) и автоматизация. Связывание объекта означает соединение одного документа с другим, т.е. создание документа из частей других приложений. Связывание применяется, если необходимо использовать связываемый объект во многих документах. При этом объем документов практически не изменяется. Внедрение объекта означает внедрение одного документа в другой, т.е. создание составных документов. Доступ к элементам составного документа осуществляется в приложении, в котором он был создан. Внедрение применяется, если необходимо для дальнейшего использования иметь единый составной документ. Приложение приемника данных, поддерживающее внедрение или связывание объектов, называется контейнером ActiveX. Приложение источника данных, обеспечивающее редактирование объектов, связанных или внедренных в документ другого приложения, называется сервером ActiveX. Объект (O Object) – это блок данных, передаваемый из сервера в контейнер.

При внедрении объекта контейнер сохраняет копию объекта как часть документа контейнера. Существуют два способа внедрения объекта. Первый способ – это копирование или вырезание блока данных из приложения сервера и вставка в приложение контейнера с помощью команд меню Edit приложения контейнера: команда Paste для автоматического внедрения данных и команда Paste special для явного внедрения данных. Вариантом этого способа является способ “drang and drop” – перетянуть и отпустить данные из документа сервера в документ контейнера. Второй способ – это использование команды Insert New Object в меню Edit либо в другом меню приложения контейнера для выбора типа объекта в диалоговом окне и автоматического запуска приложения сервера для создания объекта данных. Этот способ применяется при создании нового блока внедренных данных, а не внедрение существующего блока данных.

После внедрения объекта сервер используется для отображения и редактирования объекта. Возможно редактирование объекта двумя способами. Первый способ – это редактирование на месте (in-place), т.е. в окне контейнера. Приложение сервера, объединяя команды контейнера и сервера, предлагает собственные средства редактирования объекта. Для выбора этого способа необходимо дважды щелкнуть мышью внутри объекта либо отметить объект и выбрать команду Edit в подменю Object меню Edit контейнера. Подменю Object отмечено в соответствии с типом выбранного встроенного объекта. Второй способ редактирования – это полностью открытое редактирование (fully-open) в окне сервера. Для выбора этого способа необходимо отметить объект и выполнить команду Open в подменю Object меню Edit контейнера.

При связывании объекта объект сохраняется в сервере как часть документа сервера. Сервер сохраняет объект, а контейнер сохраняет связь к объекту как часть своего документа. Для связывания объекта необходимо скопировать данные из документа в сервер, а затем выполнить команду Paste Link в меню Edit контейнера или команду Paste Special меню Edit и Paste Link. При связывании объекта редактирование возможно только в полностью открытом режиме (fully-open) в сервере. Необходимо дважды щелкнуть мышкой внутри объекта в окне контейнера или отметить объект и выполнить команду Open или Edit подменю Object в меню контейнера Edit, или использование команды Insert New Object в меню Edit. Редактирование при связывании объекта требует открытия двух документов: документа сервера, где содержится объект, и документа контейнера, где содержится связь с объектом.

Третьим методом ActiveX является автоматизация. Автоматизация позволяет приложению, называемому клиентом автоматизации, пользоваться данными и функциями другого приложения, называемого сервером автоматизации, а также их модифицировать.

Преимущества создания приложений в виде контейнеров ActiveX и серверов ActiveX выражаются в следующем:

- приложение-контейнер облегчает самостоятельную работу пользователей по внесению изменений и дополнений в приложение;

- приложение-сервер позволяет легко использовать функции данного приложения в других приложениях.

Пусть требуется внедрить в документ Word рисунок, сделанный в редакторе Paint. Выполним следующие действия:

-  Запустить Word и создать документ с названием рисунка.

-  Установить курсор на месте, где появится рисунок.

-  Выполнить команду Вставка->Объект (Insert->Object). Появится диалоговое окно с двумя вкладками: Создание нового объекта и Создание из файла (Create From File). На вкладке имеется флажок Связь с файлом (Link to File). Если флажок сбросить, то это внедрение объекта и его можно редактировать, используя приложение, в котором он был создан. Если флажок установить, то это связывание, и изменения в файле будут автоматически отражаться в документе.

-  Сбросить флажок Связь с файлом.

-  Выбрать вкладку Создание нового объекта. Появится диалоговое окно с типами объектов.

-  Выбрать Paintbrush Picture и нажать OK. Появится прямоугольник и редактор Paint с инструментами и палитрой.

-  Взять кисть и нарисовать рисунок.

-  Сохранить документWord в файле ris1.doc.

Пусть требуется связать документ Word с рисунком Paint, находящимся в файле ris1.doc. Для этого выполним следующие действия:

-  Запустить Word и создать документ с текстом.

-  Установить курсор на месте, где появится рисунок.

-  Выполнить команду Вставка->Объект. Появится диалоговое окно с двумя вкладками.

-  Выбрать вкладку Создание из файла. Появится окно для имени файла.

-  Ввести имя файла ris1.doc.

-  Установить флажок Связь с файлом и щелкнуть на OK. В документе Word появится рисунок.

Для внедрения части документа объекта ActiveX возможно использование буфера обмена Clipboard. Пусть требуется переслать часть таблицы Excel в документ Word. Для этого выполните следующие действия:

-  Запустить Excel и создать документ с текстом.

-  Выделить часть документа для пересылки в документ Word.

-  Выполнить команду Правка-Копирование (Edit->Copy) для копирования выделенной части документа в буфер Clipboard.

-  Запустить Word и создать документ с текстом.

-  Выполнить команду Правка-Специальная вставка (Edit->Paste Special). Появляется диалоговое окно.

Похожие материалы

Информация о работе