我将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;
ServerMethod
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;
在不使用DBXJson的情况下,是否无法在Delphi Berling Datasnap中使用参数?
答案 0 :(得分:1)
此错误消息和问题已作为RSP-14895记录在Embarcadero的质量门户中。这是在16月16日由其他人。那个人说" XE10没问题"。 今天(14月16日)我在这个问题上添加了另一个测试项目。我的测试项目是针对VAR参数的情况。我还提供了测试项目的截图。我的测试适用于XE6但在10.1柏林上失败。 在修复此问题之前,我无法使用DataSnap。 请将此问题投票。