Delphi: как зарегистрировать фильтр ZLibCompression на сервере datasnap-xe

ПРОБЛЕМА:

Я использую фильтр ZLibCompression на сервере DataSnap-XE.

Клиент всегда выдает следующее сообщение об ошибке:

"Borland.Data.TDBXError: Коммуникационный фильтр ZLibCompression не зарегистрирован. Для связи с сервером необходимо зарегистрировать класс фильтра"

ВОПРОС: 1

Как зарегистрировать фильтр ZLibCompression?

ИЗМЕНИТЬ

ВОПРОС: 2

Как заставить Datasnap-Connection в DataExplorer связать этот сервер?


person Charles Faiga    schedule 05.01.2011    source источник
comment
сообщение об ошибке действительно должно добавлять '... - to solve this problem, try to add <unit name> to your project' (поскольку страница DocWiki также не помогает в названии модуля)   -  person mjn    schedule 06.01.2011


Ответы (2)


Просто добавьте модуль DbxCompressionFilter в раздел использования клиента (это также обсуждалось в моем руководстве по курсу Delphi XE DataSnap, и я полагаю, что это также есть в старом официальном документе DataSnap, который я написал в прошлом году).

Модуль DbxCompressionFilter уже содержит следующий код:

initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

end.
person Bob Swart    schedule 05.01.2011

Вызовите метод TTransportFilterFactory.RegisterFilter, чтобы зарегистрировать фильтр.

В документации (Filtering DataSnap) говорится:

A filter needs to be registered with the TTransportFilterFactory singleton. The recommended way to register a filter is through the unit initialization and finalization sections, but it can be coded through an initialization phase in the user's application. Below is the code snippet registering the compression filter available out of the box:
initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

Измените TTansportcompressionFilter на имя класса, который вы используете для фильтрации.

person jachguate    schedule 05.01.2011