如何在SqlServerMethod DataSnap Server中返回TByteDynArray

时间:2018-07-17 08:35:09

标签: delphi client-server delphi-xe datasnap rad-studio

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

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

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

  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的类型? 先感谢您。

1 个答案:

答案 0 :(得分:2)

TByteDynArray不是有效的DataSnap参数。允许的参数类型列表取决于Delphi版本,并在此处记录:Exposing DataSnap Server Methods。 对于Delphi 10.2 Tokyo,这是:

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。

相关问题