2011-01-05 35 views
2

問題:德爾福:如何在一個的DataSnap-XE服務器註冊ZLibCompression過濾

我在的DataSnap-XE服務器使用ZLibCompression過濾器。

客戶總是給後續的錯誤消息:

「Borland.Data.TDBXError:通訊過濾ZLibCompression未註冊過濾器類需要進行註冊,以便與服務器進行通信。」

問題:1

如何註冊ZLibCompression過濾器?

編輯

問題:2

我如何在DataExplorer了DataSnap,連接鏈接到這個服務器?

+1

錯誤消息確實應該加'」 ... - 來解決這個問題,嘗試添加您project''(作爲DocWiki頁對單位名稱也沒有幫助) – mjn 2011-01-05 21:16:37

回答

4

只需將DbxCompressionFilter單元添加到客戶端的uses子句中(也在我的Delphi XE DataSnap課件手冊中討論過,我相信它也出現在我去年編寫的舊DataSnap白皮書中)。

的DbxCompressionFilter單元已經包含下面的代碼:

initialization 
    TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter); 

finalization 
    TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter); 

end. 
4

調用TTransportFilterFactory.RegisterFilter方法註冊過濾器。

文檔(Filtering DataSnap)說:

A filter needs to be registered with the TTransportFilterFactory singleton. The recommended way to register a filter is through the unit initialization and finalization sections, but it can be coded through an initialization phase in the user's application. Below is the code snippet registering the compression filter available out of the box:
initialization 
    TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter); 

finalization 
    TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter); 

變化TTansportcompressionFilter爲您使用的是過濾器的類的名稱。