Самоучитель по Delphi 7 для профессионалов



              

Удаленный модуль данных для сервера Автоматизации - часть 2


Создадим, например, удаленный модуль данных simpleRDM. В мастере создания модуля данных в качестве способа создания выберем Single Instance, a Free — как модель обработки запросов.

Листинг 21.1. Исходный код нового удаленного модуля данных и его фабрики класса 

type

TSimpleRDM = class(TRemoteDataModuie, ISimpleRDM)

private

( Private declarations }

 protected

class procedure UpdateRegistry(Register: Boolean; 

const Classic,

ProgID: string); 

override;

 public

{ Public declarations } 

end;

implementation 

{$R *.DFM}

class procedure TSimpleRDM.UpdateRegistry(Register: Boolean; 

const

ClassID, ProgID: string);

begin

if Register then

begin

inherited UpdateRegistry(Register, Classic, ProgID);

EnableSocketTransport(ClassID);

EnableWebTransport(ClassID); 

end

 else

 begin

DisableSocketTransport(ClassID);

DisableWebTransport(ClassID);

inherited UpdateRegistry(Register, ClassID, ProgID);

 end;

 end;

initialization

TComponentFactory.Create(ComServer, TSimpleRDM,

Class_SimpleRDM, ciMultilnstance, tmApartment); 

end.

Обратите внимание, что параметры модуля данных, заданные при создании, использованы в фабрике класса TComponentFactory в секции initialization.

Примечание 

Фабрика класса TComponentFactory обеспечивает создание экземпляров компонентов Delphi, поддерживающих использование интерфейсов.

Метод класса UpdateRegistry создается автоматически и обеспечивает регистрацию и аннулирование регистрации сервера Автоматизации. Если параметр Register имеет значение True, выполняется регистрация, иначе — отмена регистрации.

Разработчик не должен использовать этот метод, т. к. его вызов осуществляется автоматически.

Одновременно с модулем данных создается и его интерфейс — потомок интерфейса IAppServer. Его исходный код содержится в библиотеке типов проекта сервера приложения. Для удаленного модуля данных simpleRDM созданный интерфейс isimpleRDM представлен в листинге 21.2. Для удобства из листинга удалены автоматически добавляемые комментарии.




Содержание  Назад  Вперед