EIntOverflow exception with AureliusDataset.Open after updating to Delphi 11 / Aurelius

I have an especific AureliusDataset that is not working after latest updates.

2 weeks ago I had no problems. Now, with Delphi 11 + Aurelius, when trying to open this AureliusDataset, I get this exception


in Aurelius.Bind.BaseDataset.pas . It has never happened before.



What could cause this overflow situation?
I use SetSourceCriteria with this AureliusDataset.

It's all about this Sum variable.
Was this fieldlist checksum calculation there before?

I had my dataset with SubpropsDepth := 4
This way, it was generating 1013 Fields (and the exception).
With depth = 3, 354 fields, same error; depth = 2, 120 fields, same error; depth = 1, 36 fields, no error.
I had been using depth 4 in this dataset since last year, and I really need those fields there.

Yes, it was always there. What version of Aurelius you were using before? Are you saying with Aurelius 5.5, the error happens in Delphi 11 but not in Delphi 10.4? Can you please give more details about the exact Aurelius/Delphi versions that work and do not work?

If possible, could you please send a small project reproducing the issue? That's a lot of fields!

I uninstalled all Delphi 10.4.2. I see I have Aurelius 5.4 downloaded on July 30th.
It would take a lot to make a small project. This specific query has many linked tables.
I guess any subpropsdepth that generates that number of fields would fire this error, but it's just a guess.
There were no other changes. I'll try to increase subpropsdepth of other datasets and see if it rises the same exception.
It never happened.
Now, it's rising this exception, and retruning no rows.

Updating: It works well with 64 bits configuration.

The exception rises when compiling for 32 bits.
Now that I changed the default target platform from Delphi installation I could notice that.

I really don't remember if 32 bits would no longer be supported by Aurelius. If it will, i believe Sum (and the checksum function) should be at least Int64 instead of NativeInt.

For me, it's solved. I don't need 32bit compilation.

1 Like

In the meantime we have fixed this for 32-bit. Thank you for the follow up.

1 Like