packet fpjsonrtti - QWord values are converted as Float
Summary
FCL package fcl-json : in JSON string conversions of Objects QWord properties are handled as 64bit floats (Double) instead of as 64bit unsigned integers (QWord).
I'm not sure, if this is a bug or if there is a particular reason for this, because at first sight, it seems to work though. But all other data types are handled correctly. Hence, for QWord this is confusing at least, and might possibly cause data loss/corruption/error when using these JSON strings in other software/systems.
System Information
- Operating system: Windows
- Processor architecture: x86, x86-64
- Compiler version: 3.2.2
- Device: Computer
Steps to reproduce
Convert an Object with QWord property and inspect the resulting JSON string.
Example Project
What is the current bug behavior?
In JSON string conversion of Objects QWord properties are handled as 64bit floats (Double).
What is the expected (correct) behavior?
In JSON string conversion of Objects QWord properties are handled as 64bit unsigned integers (QWord).
Relevant logs and/or screenshots
Possible fixes
In FCL package fcl-json file fpjsonrtti.pp change the according source code lines 549 and 1183.