I created a service with a simple function like this with 10 parameters consisting of a string and an integer.
code server
function TMyTrxService.EchoString(Value1,
Value2,
Value3,
Value4,
Value5,
Value6: string;
Value7,
Value8,
Value9: Integer;
Value10: Integer): string;
begin
Result := Value1+'-'+
Value2+'-'+
Value3+'-'+
Value4+'-'+
Value5+'-'+
Value6+'-'+
IntToStr(Value7)+'-'+
IntToStr(Value8)+'-'+
IntToStr(Value9)+'-'+
IntToStr(Value10);
end;
code client
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Text := xClient.Service<IMyTrxService>.
EchoString('1','2','3','4','5','6',119,119,119,119);
end;
There is a problem if my client from mobile fmx accesses it, then the number value in parameter Value9 will change to 127. On target windows this does not happen.
What do I not know about the data reception error?
We are not aware of any issues so far. But before we go deeper with it, we need exact steps to reproduce the problem as such issues might be caused in very specific scenarios. For example (but limited to):
Which Delphi version are you using?
Which platform are you compiling to?
Where are you running the application: simulator, a specific device...?
The code seems to be simple to reproduce with proper information like above, but if you have a minimal client/server project combination so we can reproduce the issue here it might help save time as we will be using the exact project you are using there.
Thanks for the project. Unfortunately it looks like a Delphi bug, related to Android64 platform. Using the test project attached, you can see the same error occurs, without any Aurelius or XData code involved.