如何在SqlServerMethod DataSnap Server中返回TByteDynArray [英] how to return TByteDynArray in SqlServerMethod DataSnap Server

查看:142
本文介绍了如何在SqlServerMethod DataSnap Server中返回TByteDynArray的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个具有以下Server方法的DataSnap Server:

I have a DataSnap Server with a Server method like this:

function TServerMethods1.Get_Excel_History(key: string): TByteDynArray;

现在,在使用TSQLServerMethod的DataSnap Client上,我以设计模式成功连接到服务器,并且正在将请求发送到服务器并成功接收了数据,但无法读取输出参数。

Now, on the DataSnap Client using TSQLServerMethod, I successfully connect to the server in Design Mode, and I'm sending the request to Server and successfully receiver the data but can not read the output parameter.

  M.SqlServerMethod1.Close;
  M.ClientDataSet_All.Close;
  M.SqlServerMethod1.ServerMethodName:='TServerMethods1.Get_XML_History';
  M.SqlServerMethod1.Params.ParamByName('key').Value:=Edit1.Text;
  M.SqlServerMethod1.ExecuteMethod;


  ByteDynArray_Result:=M.SqlServerMethod1.Params.ParamByName('ReturnParameter').As???????;

我如何读取TByteDynArray的类型?
提前谢谢。

How can i read the type of TByteDynArray? Thank you in advance.

推荐答案

TByteDynArray不是有效的DataSnap参数。允许的参数类型列表取决于Delphi版本,并在此处记录:公开DataSnap服务器方法
对于Delphi 10.2 Tokyo,这是:

TByteDynArray is not a valid DataSnap parameter. The list of allowed parameter types depends on the Delphi version and is documented here: Exposing DataSnap Server Methods. For Delphi 10.2 Tokyo this is:

Boolean
SmallInt
Integer
Int64
Single
Double
AnsiString
String
TDBXTime
TDBXDate
TJSONValue and all descendents
TDBXWideStringValue
TDBXAnsiStringValue
TDBXUInt8Value
TDBXInt8Value
TDBXInt16Value
TDBXInt32Value
TDBXInt64Value
TDBXSingleValue
TDBXDoubleValue
TDBXBcdValue
TDBXTimeValue
TDBXDateValue
TDBXTimeStampValue
TDBXBooleanValue
TDBXReaderValue
TDBXStreamValue

有效替代方案可以是流或JSON。

A valid alternative could be stream or JSON.

这篇关于如何在SqlServerMethod DataSnap Server中返回TByteDynArray的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆