Delphi: Wie die ZLibCompression Filter in einem DataSnap-xe-Server registrieren
Frage
PROBLEM:
Ich bin mit einem ZLibCompression Filter in DataSnap-XE-Server.
Der Kunde gibt immer die Folgefehler die Meldung:
"Borland.Data.TDBXError. Communication Filter ZLibCompression ist nicht registriert Filterklasse braucht, um registriert werden, um mit dem Server zu kommunizieren"
FRAGE: 1
Wie melde ich mich ZLibCompression Filter?
Bearbeiten
FRAGE: 2
Wie erhalte ich die DataSnap-Verbindung im Daten-Explorer zu Link zu diesem Server?
Lösung
Fügen Sie einfach die DbxCompressionFilter
Einheit zur uses-Klausel des Clients (wie auch in meinem Delphi XE DataSnap diskutiert Courseware Handbuch, und ich glaube, es ist auch in dem alten DataSnap Weißbuch, dass ich im letzten Jahr schrieb).
Die DbxCompressionFilter Einheit enthält bereits den folgenden Code:
initialization
TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);
finalization
TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);
end.
Andere Tipps
Rufen Sie die TTransportFilterFactory.RegisterFilter Methode, um einen Filter zu registrieren.
Dokumentation ( Filtering DataSnap ) sagt:
Ein Filter muss mit dem TTransportFilterFactory Singletons registriert werden. Die empfohlene Art und Weise wird einen Filter durch die Einheit Initialisierung und Finalisierung Abschnitte zu registrieren, aber es kann in der Anwendung des Benutzers durch eine Initialisierungsphase codiert werden. Unten ist der Code-Schnipsel des Kompressionsfilter zur Verfügung aus dem Kasten heraus Registrierung:
initialization
TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);
finalization
TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);
Ändern TTansportcompressionFilter für den Namen der Klasse, die Sie Filter verwenden.