在RO里使用TParams,有两种方式将参数类型传到中间件,一种是组件的序列化,将组件转换为字符串参数,以字符串传入到中间件,然后再以反系列化为TParams;第二种方法是将TParams转换为变体类型,然后变体再转换为Binary类型,到了中间件再反过来转换为TParams。
我使用了第二种方法。在使用中我发现,TParams带了太多属性,比如DataType/Size,输入输出类型,当不同的TParam类型需要转换时候,总是感觉很心虚,怕类型转换错误。再则,当TParams包含了Blob字段,传输回来的数据会被截断,少了很多数据,很奇怪。其他的类型就没有错误。
几番考虑,放弃了TParams做参数方式,恢复了使用了RO内置的复合类型方式。