Page 1 of 1

ERangeError in MemUtils.pas

Posted: Thu 11 Sep 2008 15:31
by NineBerry
During development, we make sure, all code we use is compiled with Range Checking and Overflow Checking on.

When reading from a Dataset with certain special characters (like the Euro Sign) in the column content, a statement in MemUtils.pas will throw an ERangeError when compiled with Overflow Checking on.

To circumvent this error, change line 1193 from

Code: Select all

    PWord(Cardinal(Dest) + DestIdx + Result)^ := wc;
to

Code: Select all

    PWord(Cardinal(Dest) + DestIdx + Result)^ := Word(wc);
Please include this change in the next release.

Thanks

Posted: Fri 12 Sep 2008 07:38
by Plash
We'll include this fix in the next IBDAC release.

Posted: Fri 12 Sep 2008 09:36
by NineBerry
Thank you very much :D