Создание СОМ-объекта
После щелчка на кнопке ОК в окне New Items будет запущен мастер COM Object Wizard (рис. 18.2).
Рис. 18.2. Окно мастера настройки создаваемого СОМ-объекта |
? Имя класса создаваемого СОМ-объекта вводится в поле Class Name.
? Способ создания экземпляров СОМ-объекта задается с помощью раскрывающегося списка Instancing. В данном списке предлагаются следующие варианты:
■ Internal — объект будет использоваться в процессе;
■ Single Instance — при обращении к объекту нескольких клиентов в общем экземпляре сервера создается несколько экземпляров объекта;
■ Multiple Instance — при обращении к объекту нескольких клиентов для каждого клиента создается отдельный экземпляр сервера.
? Способ взаимодействия COM-сервера с клиентами задается с помощью раскрывающегося списка Threading Model, в котором предлагаются следующие варианты:
■ Single — сервер обслуживает вызовы клиентов последовательно;
■ Apartment — вызов объекта выполняется только в одном потоке, созданном самим объектом, и сервер может поддерживать одновременную работу нескольких объектов;
■ Free — обращение к объекту может производиться через любой созданный им поток;
■ Both — комбинация вариантов Apartment и Free.
? Стандартные COM-интерфейсы, которые будут использоваться в объекте, указываются в поле Implemented Interfaces.
? Описание объекта вводится в поле Description.
? Флажок Include Type Library указывает, следует ли создавать библиотеку типов для СОМ-объекта.
? Установленный флажок Mark interface Oieautomation означает поддержку СОМ- объектом технологии OLE Automation.
В нашем примере мы зададим следующие параметры создаваемого объекта:
? имя класса — TestCom;
? способ создания экземпляров объекта — Multiple Instance;
? способ взаимодействия сервера и клиентов — Single.
Кроме того, укажем, что следует создать библиотеку типов (путем установки флажка Include Type Library) и не будем включать поддержку технологии OLE Automation (оставив сброшенным флажок Mark interface Oleautomation).
После щелчка на кнопке ОК будет создан модуль, содержащий код объекта TestCom, и откроется окно библиотеки типов. В модуле объекта изначально содержатся описание пустого класса объекта и вызов конструктора фабрики класса созданного объекта в секции инициализации модуля:
unit TestCOM:
interface
uses
Windows. ActiveX. Classes. ComObj. TestComServerJIB. StdVcl: type
TTestCom = class(TTypedComObject. ITestCom) protected
{Declare ITestCom methods here} end:
implementation uses ComServ; initialization
TTypedComObjectFactory.Create(ComServer. TTestCom. Class_TestCom. ciMultilnstance. tmSingle): end.
Для создания новых интерфейсов и методов COM-объекта лучше всего воспользоваться редактором библиотеки типов.
Еще по теме Создание СОМ-объекта:
- Статья 1112. Договор о создании по заказу и использование объекта права интеллектуальной собственности
- Статья 298. Незаконное проведение поисковых работ на объекте археологического наследия, уничтожение, разрушение или повреждение объектов культурного наследия
- 14.8.2. Традиция создания инструментов
- §10. СОЗДАНИЕ ЮРИДИЧЕСКОГО ЛИЦА
- Статья 87. Создание юридического лица
- 2. Создание и управление учреждением
- 14.8.1. Принцип создания инструментов
- Статья 153. Создание акционерного общества
- 2. Создание и управление фондом
- Создание концепции
- Статья 255. Создание преступной организации
- 5.10.1. Создание пространства для ответа
- Глава 1. Ты – непростое создание
- 5.10.2. Создание отправных пунктов
- 1. Возникновение (создание) юридического лица