Question

PROBLÈME:

J'utilise un filtre ZLibCompression dans le serveur DataSnap-XE.

Le client donne toujours l'erreur de suivre le message:

« Borland.Data.TDBXError. Filtre Communication ZLibCompression n'est pas enregistré Classe de filtre doit être enregistré afin de communiquer avec le serveur »

QUESTION: 1

Comment puis-je enregistrer filtre ZLibCompression?

EDIT

QUESTION: 2

Comment puis-je obtenir le Datasnap-Connection dans le DataExplorer un lien vers ce serveur?

Était-ce utile?

La solution

Il suffit d'ajouter l'unité de DbxCompressionFilter à la clause uses du client (comme également discuté dans mon Delphi XE DataSnap manuel courseware, et je crois qu'il est aussi dans le vieux livre blanc DataSnap que j'ai écrit l'année dernière).

L'unité DbxCompressionFilter contient déjà le code suivant:

initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

end.

Autres conseils

Appelez la méthode TTransportFilterFactory.RegisterFilter afin d'enregistrer un filtre.

Documentation ( Filtrage DataSnap ) dit:

Un filtre doit être enregistré avec le singleton TTransportFilterFactory. La méthode recommandée pour enregistrer un filtre est par l'initialisation de l'unité et les sections de finalisation, mais il peut être codé par une phase d'initialisation dans la demande de l'utilisateur. Voici l'extrait de code enregistrement du filtre de compression disponible hors de la boîte:
initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

Modifier TTansportcompressionFilter le nom de la classe que vous utilisez pour filtrer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top