デルフィ:ZLibCompression フィルターを datasnap-xe サーバーに登録する方法

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

  •  25-09-2019
  •  | 
  •  

質問

問題:

DataSnap-XE サーバーで ZLibCompression フィルターを使用しています。

クライアントは常に次のエラー メッセージを返します。

「Borland.Data.TDBXError:通信フィルター ZLibCompression が登録されていません。サーバーと通信するにはフィルター クラスを登録する必要があります。」

質問:1

ZLibCompression フィルターを登録するにはどうすればよいですか?

編集

質問:2

DataExplorer で Datasnap-Connection を取得してこのサーバーにリンクするにはどうすればよいですか?

役に立ちましたか?

解決

ただ、(また私のDelphi XEのDataSnapに手動コースウェア説明したように、私はそれが私が去年書いた古いDataSnapの白書でも、だと信じ)クライアントのuses節にDbxCompressionFilterユニットを追加します。

DbxCompressionFilter部は既に次のコードを含みます

initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

end.

他のヒント

フィルタを登録するためにTTransportFilterFactory.RegisterFilterメソッドを呼び出します。

ドキュメント(フィルタリングDataSnapのの)氏は述べています:

フィルタはTTransportFilterFactoryシングルトンに登録する必要があります。フィルタを登録する推奨される方法は、ユニットの初期化と終了処理部を介して行われ、それは、ユーザのアプリケーションにおける初期化段階を介して符号化することができます。 下のボックスの圧縮フィルタ可能なアウトを登録するコードスニペットは、次のとおりです。
initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

変更TTansportcompressionFilterは、クラスの名前のためにあなたは、フィルタに使用しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top