Domanda

PROBLEMA:

Io sto usando un filtro ZLibCompression server DataSnap-XE.

Il cliente dà sempre l'errore di seguire il messaggio:

"Borland.Data.TDBXError:. Comunicazione filtro ZLibCompression non è registrato esigenze di classe Filter per essere registrati al fine di comunicare con il server"

DOMANDA: 1

Come mi iscrivo filtro ZLibCompression?

Modifica

DOMANDA: 2

Come faccio ad avere il DataSnap-Connection nel DataExplorer creare un collegamento a questo server?

È stato utile?

Soluzione

È sufficiente aggiungere l'unità DbxCompressionFilter alla clausola uses del cliente (come discusso anche nel mio Delphi XE DataSnap didattico manuale, e credo che sia anche nel vecchio DataSnap carta bianca che ho scritto l'anno scorso).

L'unità DbxCompressionFilter contiene già il seguente codice:

initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

end.

Altri suggerimenti

Chiamare il metodo TTransportFilterFactory.RegisterFilter per registrare un filtro.

Documentazione ( Filtering DataSnap ) dice:

A esigenze di filtro per essere registrati Singleton TTransportFilterFactory. Il metodo consigliato per registrare un filtro attraverso le sezioni dell'unità di inizializzazione e finalizzazione, ma può essere codificato attraverso una fase di inizializzazione in applicazione dell'utente. Qui di seguito è il frammento di codice registra il filtro di compressione a disposizione fuori dalla scatola:
initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

Cambia TTansportcompressionFilter per il nome della classe che si sta utilizzando per il filtro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top