Кент Рейсдорф. BORLAND C++BUILDER. Раздел 4

Кент Рейсдорф. BORLAND C++BUILDER. Страница 438


возможно благодаря использованию автоматизированного объекта OLE, оп­ределенного в Autosrv.

Функция Initialization) регистрирует EditServer в Windows, чтобы при­ложение, поддерживающее OLE, могло его использовать. Этот шаг необходим для работы с автоматизированными объектами OLE. Initialization) вызывает RegisterButtonServer(), который устанавливает связь между классом Button- Server и BCBAutoSrv.EditServer. Исходный текст RegisterButtonServer() при­веден в листинге 15.3.

Обратите внимание на присваивания значений членам AutoClass и ProgID. Эти присваивания связывают BCBAutoSrv.EditServer и ButtonServer, позволяя OLE-приложениям ссылаться на автоматизированный объект But­tonServer, используя BCBAutoSrv.EditServer.

Создание собственного автоматизированного сервера

Вы можете создавать свои собственные автоматизированные серверы OLE, используя мастер автоматизированного объекта (Automation Object Wizard), включенный в C++Builder. Создание простого автоматизированного сервера выполняется следующим образом:

1. Выберите в главном меню C++Builder пункт File | New Application для создания нового приложения. Это приложение станет вашим автомати­зированным сервером OLE. Для управления сервером и направления к нему запросов другие приложения будут использовать объект Automation.

2. Измените значение свойства Caption главной формы нового приложения на My OLE Automation Server. Это сделает назначение вашего приложе­ния немного более понятным.

3. Выберите в главном меню пункт File | Save Project As и сохраните новое приложение. Сохраните главную форму как unitl.cpp, а сам проект как My Auto. так.

4. Поместите в форму один компонент TEdit.

5. Выберите в главном меню пункт File | New..., затем дважды щелкните на Automation Object в диалоговом окне New Items. После этого вы должны увидеть диалоговое окно, показанное на рис. 15.2.

Web-дизайн (с) 2010 All rights reserved