Шаг 1.
Технология OLE. Введение в OLE

   

    Фирма Borland разработала новую группу классов C++ для OLE, называемую OCF (Object Component Framework - базисная система объектных компонентов). Эта группа классов позволяет программистам, пишущим программное обеспечение для Windows, легко объединять свои приложения с OLE.

    Для интерфейса Windows-приложений с OLE Borland разработала динамически подключаемую библиотеку BOLE.DLL. Эта DLL позволяет программистам легко связывать свои программы с существующими структурами OLE 2 в Windows. На рис.1 демонстрируется взаимосвязь между OLE 2, BOLE и приложениями, написанными на Borland C++ версии 4.5.


Рис.1 Взаимосвязь между OLE, BOLE и ObjectComponents Framework.

    Borland отмечает, что несмотря на то, что исходные тексты BOLE.DLL, (призванные помочь разработчикам в отладке OLE-приложений) включены в поставку, интерфейс BOLE.DLL не документируется.

    С помощью Borland C++ версии 4.5 и OWL приложения смогут поддерживать функциональные свойства, перечисленные в табл. 1. Не все приложения должны поддерживать все возможные функциональные свойства, однако здесь приводится необходимый минимум. Использование приложения AppExpert обеспечивает минимальную функциональность.

Таблица 1. Функциональные свойства OWL OLE 2
Функциональное свойство Описание
Automation controller (Контролер автоматизации)
Контейнер, который посылает команды объекту автоматизации. Для того чтобы узнать об этом больше, см. Сервер автоматизации
Automation servers (Сервер автоматизации)
Представляет объекты сервера контейнеру, таким образом, контейнер может посылать команды объекту. Объект обычно называют объектом автоматизации
Compaund file storage (Память составных файлов)
Составные файлы — эффективное средство запоминания объектов OLE, они также выгодны тем, что предоставляют возможность запоминания других, не OLE-элементов
In-Place Editing (Редактирование по месту)
Пользовательский интерфейс контейнера (обычно заключается в различных меню) может заменяться пользовательским интерфейсом сервера
Linkable and embeddable containers (Контейнеры со связыванием и внедрением)
Контейнеры, которые могут содержать связанные или внедренные объекты
Linkable and embeddable servers (Серверы со связыванием и внедрением)
Серверы, которые могут поддерживать и связанные и внедренные объекты
OLE clipboard support (Поддержка буфера обмена OLE)
Поддержка на уровне буфера обмена, включая взаимодействие с меню Edit и назначенные комбинации клавиш буфера обмена
OLE drag and drop (Технология OLE "перетащить и опустить")
Технология OLE "Перетащить и опустить" поддерживает любые объекты, связанные или внедренные
OLE user interface support (Поддержка интерфейса пользователя OLE)
Поддержка функциональных свойств пользовательского интерфейса, подобная объединению меню (см. Редактирование по месту), всплывающим меню и дополнительным действиям в меню Edit контейнера
Registration (Регистрация)
Серверы OLE должны быть зарегистрированы в специальном файле или реестре Windows. Этот процесс для большинства серверных приложений автоматически выполняется кодом, генерируемым AppExpert
Type libraries (Библиотеки типов)
Библиотеки типов используются для обработки дополнительной информации о серверах в регистрационной базе данных Windows. Обычно пользователь не заносит вручную информацию в регистрационную базу данных, а просто использует команду merge для регистрации информации о приложении
Use of Localized strings (Использование локализованных строк)
Локализованные строки упрощают процесс создания приложений, которые должны функционировать и на других языках, помимо родного, (подобного английскому) языка разработчика

    С помощью OLE и OCF Borland поддерживает OLE достаточно неплохо. Мы можем построить свой собственный интерфейс с OLE, но до тех пор, пока у нас не возникнут для этого серьезные причины, при разработке приложений лучше пользоваться поставляемыми библиотеками классов C++.

    На следующем шаге мы рассмотрим некоторые термины OLE.




Содержание Следующий шаг