繁体   English   中英

在datasnap服务器方法中使用OUT参数时出错

[英]Error when using OUT parameters in datasnap servermethod

我将Datasnap服务器迁移到XE 10.1 Berlin,现在使用OUT参数调用服务器方法时,服务器上出现错误。

宾语

  TBtwlControlePar=class
    xInDoc,
    xHandmatig,
    xStatus,
    xVerwacht,
    xAantal,
    xVerwerkt,
    xOnVerwerkt,
    xOnverwerktInDocument,
    xTotaalCustoms :Integer;
  end;

function TPWAdminMethods.DOC_BTWAH_Get2(pPeriode, pMaand, pSort,pSelop,pSelOntvangen,pSelToegewezen,pSelVerwerkt: integer; pSel: string; out pControlePar: TBTWLControlePar): TResult;

服务器方法

tmpM := TPWAdminMethodsClient.Create (DMForm.DSConnection.DBXConnection, false);

客户

  FreeAndNil( fControlePar );
  tmpResult := tmpM.DOC_VATLH_Get2(Jaar,sort,SelOp,SelOntvangen,SelToegewezen,SelVerwerkt,fSelection,fControlePar);          

触发此方法后,服务器在最后一行给出错误

procedure TDSMethod.Invoke(MethodInstance: TObject;
  MethodValues: TDSMethodValues);
var
  RContext: TRttiContext;
  RType: TRttiType;
  Params: TArrayOfTValue;
begin
  Params := MethodValues.GetValues;
  RType := RContext.GetType(MethodInstance.ClassType);
  MethodValues.ReturnValue := RType.GetMethod(FMethodInfoHeader.NameFld.ToString).Invoke(MethodInstance, Params);
end;

VAN和OUT参数必须完全匹配参数类型

如果不使用DBXJson,是否不可能在Delphi Berling Datasnap中使用完参数?

此错误消息和问题已作为RSP-14895记录在Embarcadero的质量门户网站上。 这是其他人在16May16举行的。 该人员说“ XE10正常”。 今天(16年6月14日),我向该问题添加了另一个测试项目。 我的测试项目是针对VAR参数的情况。 我还提供了正在运行的测试项目的屏幕截图。 我的测试在XE6上有效,但在柏林10.1上失败。 在解决此问题之前,我无法使用DataSnap。 请投票解决该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM