ClassName
|
Имя класса Delphi, реализующего COM-сервер.
Мастер создаст заготовку класса с этим именем,
под которым COM-сервер также будет зарегистрирован в реестре.
|
Instansing
|
Определяет режим создания COM-объектов. Параметр может
принимать следующие значения:
Internal |
— объект может использоваться только
внутри этого приложения; |
Single Instance |
— создание каждого экземпляра объекта
приводит к запуску нового экземпляра приложения-сервера. После создания
объекта «фабрика объектов» приложения удаляет информацию о себе
из системного списка зарегистрированных «фабрик», что заставляет
COM при создании нового объекта запустить приложение-сервер в новом
процессе; |
Multiple
Instance |
— после создания экземпляра объекта
«фабрика» не удаляет себя из списка зарегистрированных.
При создании запросе на создание нового объекта COM обнаружит ее
в этом списке и запросит создание у той же «фабрики» — при этом
новый экземпляр объекта будет создан в том же приложении. Другими
словами, для создания всех объектов данного типа будет запущено
не более одного экземпляра сервера. |
Этот параметр имеет смысл только для EXE-серверов,
для DLL он игнорируется.
|
Threading Model
|
Потоковая модель сервера. Действие этого параметра
зависит от типа сервера (EXE или DLL):
Single |
— нет никакой поддержки потоков. Для
DLL-сервера при регистрации не будет создан параметр ThreadingModel.
Для EXE-сервера указание этого параметра (в отличие от любого другого)
не приведет к установке флага IsMultiThread, а будет создана STA.
Обычно эта модель используется для Internal-серверов; |
Apartment |
— для DLL-сервера в реестре будет
создан параметр ThreadingModel= Apartment, для EXE — создана STA;
|
Free |
— для DLL-сервера в реестре будет
создан параметр ThreadingModel= Free, для EXE — создана MTA; |
Both |
— для DLL-сервера в реестре будет
создан параметр ThreadingModel= Both, для EXE — создана MTA. |
|
Include Type Library
|
Установка этого флажка приводит к включению
в сервер библиотеки типов — специального двоичного ресурса, описывающего
реализуемые сервером интерфейсы, их методы и параметры вызова. COM предоставляет
стандартные средства работы с библиотеками типов. В частности, Delphi
может импортировать имеющуюся в сервере библиотеку типов и автоматически
построить по ней интерфейсный модуль для работы с ним. При использовании
библиотеки типов интерфейсы описываются при помощи Type Library Editor.
Объект наследуется от TTypedComObject Если этот флажок выключен, то
объект наследуется от TComObject. Это более «легковесная» реализация
сервера.
|
Description
|
Примечание к объекту.
|
Implemented Interfaces
|
Это поле разрешено, только если объект
не использует библиотеку типов. В таком случае вы должны сами описать
интерфейсы в коде своей программы и перечислить их в этом поле, например
«ITest, IAnotherTest».
|
Mark interface Oleautomation
|
Установка этого флага делает COM-сервер
совместимым с OLE Automation. Вы должны использовать в методах интерфейса
только совместимые с OLE Automation типы данных. Это необходимо, если
вы хотите передавать ссылку на интерфейс между разными «комнатами».
Такая операция, называемая маршалингом интерфейсов, требует написания
специальной proxy/stub-DLL. Однако если интерфейс помечен как OleAutomation,
то эту работу выполнит маршалер OLE, что избавит вас от лишней работы.
|