#1 2019-01-30 13:05:40

patron
Member
Registered: 2018-06-05
Posts: 4

Invalid value in variant object when assigning floating point variable

I detected invalid value in variant object (TDocVariant) when assigning floating point variable.

Example:

var V1: Variant;
V1 := _Obj([], [dvoAllowDoubleValue]);
V1.size := 123.12345;
V1.Obj := _Obj([], [dvoAllowDoubleValue]);
V1.Obj.size := 123.12345;

Result:
'{"size":123.12345,"Obj":{"size":2.88660792184539E-307}}'

What happened to "Obj.size"?

SynopseCommit: 1.18.5005
Delphi XE2 Update 4
Windows 10

Offline

#2 2019-01-31 11:08:26

patron
Member
Registered: 2018-06-05
Posts: 4

Re: Invalid value in variant object when assigning floating point variable

I have compiled the same example of FPC Version 3.3.1 - the result is correct.

Result:
{"size":123.12345,"Obj":{"size":123.12345}}

Why it does not work the same way in delphi?

Offline

Board footer

Powered by FluxBB