Delphi: Cómo registrar el filtro ZLibCompression en un servidor DataSnap-xe
Pregunta
PROBLEMA:
Estoy usando un filtro ZLibCompression en el servidor DataSnap-XE.
El cliente siempre da el error de seguimiento del mensaje:
"Borland.Data.TDBXError:. necesidades de la clase de filtro Comunicación ZLibCompression filtro no se ha registrado para ser registrados con el fin de comunicarse con el servidor"
PREGUNTA: 1
¿Cómo registro filtro ZLibCompression?
Editar
PREGUNTA: 2
¿Cómo consigo el DataSnap-Conexión en el DataExplorer Para enlazar a este servidor?
Solución
Sólo tiene que añadir la unidad DbxCompressionFilter
a la cláusula de usos del cliente (como también se discute en mi Delphi XE DataSnap CourseWare manual, y yo creo que es también en el papel viejo blanco DataSnap que escribí el año pasado).
La unidad DbxCompressionFilter ya contiene el código siguiente:
initialization
TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);
finalization
TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);
end.
Otros consejos
Llame al método TTransportFilterFactory.RegisterFilter con el fin de registrar un filtro.
Documentación ( Filtrado DataSnap ) dice:
A necesidades de filtro para estar registrados en el singleton TTransportFilterFactory. El método recomendado para registrar un filtro es a través de las secciones de la unidad de inicialización y finalización, pero puede ser codificada a través de una fase de inicialización en la solicitud del usuario. A continuación se muestra el fragmento de código de registrar el filtro de compresión out disponible de la caja:
initialization
TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);
finalization
TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);
Cambiar TTansportcompressionFilter para el nombre de la clase que se utilice para filtrar.