Delphi: كيفية تسجيل مرشح Zlibcompression في خادم DataSnap-Xe

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

  •  25-09-2019
  •  | 
  •  

سؤال

مشكلة:

أنا أستخدم مرشح Zlibcompression في خادم DataSnap-Xe.

يعطي العميل دائمًا خطأ المتابعة في الرسالة:

"borland.data.tdbxerror: مرشح الاتصالات Zlibcompression غير مسجل. يجب تسجيل فئة التصفية من أجل التواصل مع الخادم"

السؤال رقم 1

كيف يمكنني تسجيل مرشح Zlibcompression؟

تعديل

السؤال 2

كيف يمكنني الحصول على اتصال DataSnap في DataExplorer لربط هذا الخادم؟

هل كانت مفيدة؟

المحلول

فقط أضف DbxCompressionFilter الوحدة إلى شرط استخدام العميل (كما تمت مناقشته أيضًا في دليل برامج Delphi XE DataSnap ، وأعتقد أنه موجود أيضًا في ورقة DataSnap القديمة التي كتبتها العام الماضي).

تحتوي وحدة DBXCompressionFilter بالفعل على الكود التالي:

initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

end.

نصائح أخرى

اتصل بالطريقة ttransportfilterfactory.registerFilter من أجل تسجيل مرشح.

توثيق (تصفية DataSnap) يقول:

يجب تسجيل مرشح في TtransportFilterfactory Singleton. الطريقة الموصى بها لتسجيل مرشح هي من خلال أقسام تهيئة الوحدة والانتهاء ، ولكن يمكن ترميزها من خلال مرحلة التهيئة في تطبيق المستخدم. فيما يلي مقتطف الكود الذي يسجل مرشح الضغط المتاح خارج المربع:
initialization
  TTransportFilterFactory.RegisterFilter(TTransportCompressionFilter);

finalization
  TTransportFilterFactory.UnregisterFilter(TTransportCompressionFilter);

قم بتغيير TtansportCompressionFilter لاسم الفصل الذي تستخدمه للتصفية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top