|
Компонент TDCOMConnection
Компонент TDCOMConnection
предоставляет транспорт на основе технологии Distributed
COM и применяется в основном для организации транспорта
в рамках локальной сети.
Для настройки соединения DCOM в первую
очередь необходимо задать имя компьютера, на котором
функционирует сервер приложений. Для компонента
TDCOMConnection это должен быть зарегистрированный
сервер Автоматизации. Имя компьютера задается свойством
property ComputerName:
string;
Если оно задано правильно, в списке
свойства
property ServerName:
string;
в Инспекторе объектов можно выбрать
один из доступных серверов. При выборе сервера также
автоматически заполняется свойство
property ServerGUID:
string;
Причем для успешного соединения клиента
с сервером приложений оба свойства должны быть заданы
в обязательном порядке. Только имя сервера или только
его GUID не обеспечат правильный доступ к удаленному
объекту СОМ.
Открытие и закрытие соединения осуществляется
свойством
property Connected:
Boolean;
или методами
procedure Open/procedure
Close;
соответственно.
Для организации передачи данных между
клиентом и сервером компонент TDCOMConnection
предоставляет интерфейс IAppServer
property AppServer:
Variant;
который также может быть получен методом
function GetServer:
lAppServer; override;
Свойство
property ObjectBroker:
TCustomObjectBroker;
позволяет использовать экземпляр компонента
TsimpleObjectBroker для получения
списка доступных серверов по время выполнения (см. ниже).
Методы-обработчики компонента
TDCOMConnection представлены в табл. 20.1.
Таблица 20.1. Методы-обработчики
событий компонента TDCOMConnection
|
|
|
property Af
terConnect: TNotifyEvent;
|
Вызывается после установления
соединения
|
property AfterDisconnect:
TNotifyEvent;
|
Вызывается после разрыва соединения
|
property BeforeConnect:
TNotifyEvent;
|
Вызывается перед установлением
соединения
|
property BeforeDisconnect:
TNotifyEvent;
|
Вызывается перед разрывом соединения
|
type TGetUsernameEvent
= procedure ( Sender : TOb j ect ; var Username:
string) of object;
property OnGetUsername
: TGetUsernameEvent ;
|
Вызывается непосредственно
перед появлением диалога удаленной авторизации
пользователя. Для этого свойство
LoginPrompt должно иметь значение True.
Параметр Username может
содержать имя пользователя по умолчанию, которое
появится в диалоге
|
type TLoginEvent
= procedure ( Sender: TOb j ect; Username, Password:
string) of object;
property OnLogin:
TLoginEvent;
|
Вызывается после открытия соединения,
если свойство LoginPrompt
имеет значение True. Параметры
Username и
Password содержат имя пользователя и
пароль, введенные при авторизации
|
|