2

We have a problem with Datasnap RESTfull, it seem to have an incompatibility between 10.3 Rio and 10.2 Tokyo (and all bellow) about Datasnap RESTfull function implementation.

The problem:

We have a server, builded with 10.2 currently running and servicing a lot of users. If we update the server with the one compiled with Delphi 10.3 Rio, the current 10.2 client (Win, MacOS, iOS, Android) receive the following error message: Internal: Field FValue cannot be found in type TJSONString.

Conversly, when we try the client compiled with Delphi 10.3 Rio thru the current server (10.2) running on Amazon AWS, we got the following error message: Internal: Field FStrBuffer cannot be found in type TJSONString.

​The only way to have working system, is to use the 10.3 client with 10.3 server. But, currently, there is a lot of user then we cannot change the server part and expect to have all client (desktop and mobile) to be updated at the same time. ​​

The code on the server :

function TServerMethods1.GetMembers: TFDJSONDataSets;
begin      
  sCurrentDBName := aDBName;   
  FDQueryMEMBERS.Close;   
  Result := TFDJSONDataSets.Create;   
  TFDJSONDataSetsWriter.ListAdd(Result, StrMEMBERS, FDQueryMembers);     
end;

The code on the client :

procedure TMemberServer.GetMembers;
var
  aDataSetLists: TFDJSONDataSets;
begin    
  aDataSetLists := ServerMethods.GetMembers(sDBName);      
  FDMemTableMembers.Active := false;
  FDMemTableMembers.AppendData(TFDJSONDataSetsReader.GetListValue(aDataSetLists, 0));    
end;

Investigation:

In the 10.3 version of System.JSON, FValue is implemented but not FStrBuffer.

In the 10.2 version of System.JSON, FStrBuffer is implemented but not FValue.

Question:

What can we do the keep the current 10.2 user working and also being able to update the server with 10.3 Rio?

Is there another way to implement this function or is there a workaround ?

J...
  • 30,968
  • 6
  • 66
  • 143
Alain V
  • 311
  • 3
  • 17
  • Stay with 10.2. – Freddie Bell Apr 09 '19 at 04:38
  • I would post this to [Embarcadero QP](https://quality.embarcadero.com/) as a breaking change. – J... Apr 09 '19 at 11:44
  • 3
    Staying in 10.2 is not an options as we publish mobile application and we need new version as mobile requirement involve rapidly. The issue have been posted to EMB QP and the case have been redirected to RSP-21867. – Alain V Apr 09 '19 at 23:38
  • @AlainV Feel free to self-answer this with a link to the QP file. – J... Apr 15 '19 at 16:59
  • Reported to Embarcadero QP, on this case number [RSP-21867](https://quality.embarcadero.com/browse/RSP-21867) – Alain V Apr 22 '19 at 21:33

0 Answers0