in class operator TJsonDataValueHelper.Implicit(const Value: Variant): TJsonDataValueHelper;
{$IFDEF AUTOREFCOUNT}
if Result.FData.FObj <> nil then
Result.FData.FObj := nil;
{$ENDIF AUTOREFCOUNT}
this is (the directive) preventing to initialize the FObj to nil when the passed parameter is "null" causing random AV's (jdtObject with trash addresses)
in class operator TJsonDataValueHelper.Implicit(const Value: Variant): TJsonDataValueHelper;
{$IFDEF AUTOREFCOUNT} if Result.FData.FObj <> nil then Result.FData.FObj := nil; {$ENDIF AUTOREFCOUNT}
this is (the directive) preventing to initialize the FObj to nil when the passed parameter is "null" causing random AV's (jdtObject with trash addresses)