Фирма 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 обеспечивает минимальную функциональность.
Функциональное свойство | Описание |
---|---|
Контейнер, который посылает команды объекту автоматизации. Для того чтобы узнать об этом больше, см. Сервер автоматизации | |
Представляет объекты сервера контейнеру, таким образом, контейнер может посылать команды объекту. Объект обычно называют объектом автоматизации | |
Составные файлы — эффективное средство запоминания объектов OLE, они также выгодны тем, что предоставляют возможность запоминания других, не OLE-элементов | |
Пользовательский интерфейс контейнера (обычно заключается в различных меню) может заменяться пользовательским интерфейсом сервера | |
Контейнеры, которые могут содержать связанные или внедренные объекты | |
Серверы, которые могут поддерживать и связанные и внедренные объекты | |
Поддержка на уровне буфера обмена, включая взаимодействие с меню Edit и назначенные комбинации клавиш буфера обмена | |
Технология OLE "Перетащить и опустить" поддерживает любые объекты, связанные или внедренные | |
Поддержка функциональных свойств пользовательского интерфейса, подобная объединению меню (см. Редактирование по месту), всплывающим меню и дополнительным действиям в меню Edit контейнера | |
Серверы OLE должны быть зарегистрированы в специальном файле или реестре Windows. Этот процесс для большинства серверных приложений автоматически выполняется кодом, генерируемым AppExpert | |
Библиотеки типов используются для обработки дополнительной информации о серверах в регистрационной базе данных Windows. Обычно пользователь не заносит вручную информацию в регистрационную базу данных, а просто использует команду merge для регистрации информации о приложении | |
Локализованные строки упрощают процесс создания приложений, которые должны функционировать и на других языках, помимо родного, (подобного английскому) языка разработчика |
С помощью OLE и OCF Borland поддерживает OLE достаточно неплохо. Мы можем построить свой собственный интерфейс с OLE, но до тех пор, пока у нас не возникнут для этого серьезные причины, при разработке приложений лучше пользоваться поставляемыми библиотеками классов C++.
На следующем шаге мы рассмотрим некоторые термины OLE.