Delphi: Как зарегистрировать фильтр ZlibCompression в сервере DataSnap-Xe

StackOverflow https://stackoverflow.com/questions/4608952

  •  25-09-2019
  •  | 
  •  

Вопрос

ПРОБЛЕМА:

Я использую фильтр ZlibCompression в сервере DataSnap-Xe.

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

«Borland.data.tdbxeRror: фильтр связи zlibcompression не зарегистрирован. Класс фильтра должен быть зарегистрирован для связи с сервером»

ВОПРОС 1

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

РЕДАКТИРОВАТЬ

ВОПРОС 2

Как получить DataSnap-соединение в DataExplorer, чтобы ссылаться на этот сервер?

Это было полезно?

Решение

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

Блок DBXCompressionFilter уже содержит следующий код:

initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

end.

Другие советы

Позвоните в метод TtransportfilterFactory.registerfilter, чтобы зарегистрировать фильтр.

Документация (Фильтрация DataSnap) говорит:

Фильтр должен быть зарегистрирован в TtransportfilterFactory Singleton. Рекомендуемый способ зарегистрировать фильтр проникает через разделы инициализации агрегата и поисках, но он может быть закодирован через фазу инициализации в приложении пользователя. Ниже приведена ли фрагмент кода, регистрирующий фильтр сжатия, доступный из коробки:
initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top