-1

我有一个带有这样的服务器方法的 DataSnap 服务器:

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

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

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

4

1 回答 1

2

TByteDynArray 不是有效的 DataSnap 参数。允许的参数类型列表取决于 Delphi 版本,并在此处记录:公开 DataSnap 服务器方法。对于 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。

于 2018-07-17T10:38:00.270 回答