

- #FREE PASCAL TSTRINGS.ADDSTRINGS 64 BIT#
- #FREE PASCAL TSTRINGS.ADDSTRINGS 32 BIT#
- #FREE PASCAL TSTRINGS.ADDSTRINGS SOFTWARE#
The integer overflow occurs in 64-bit mode when using tStrings.SaveToFile method.

Yes, you get the out of memory error in 32-bit mode, which is why I have to use 64-bit mode. There are 13 computers here, and their memory ranges from 32GB to 512GB. In my development system I have 32GB and an i7.
#FREE PASCAL TSTRINGS.ADDSTRINGS SOFTWARE#
Software like MSWord or similar, do paging to open big-files!
#FREE PASCAL TSTRINGS.ADDSTRINGS 64 BIT#
I've tried again to run the 64 bit version and I get a different call stack this time: SaveToStream is focused, this almost ok as this method calls GetTextStr. :766f9ab2 KERNELBASE.RaiseException + 0圆2
#FREE PASCAL TSTRINGS.ADDSTRINGS 32 BIT#
When debugging a 32 bit application you get the following call stack: For example: You cannot create string length of %d.Ģ.) The overflow occurs in GetTextStr. However it could be improved:ġ.) When _NewUnicodeString failes due to CharLength instead of _IntOver it should raise a more meaningful exception. And then it usually takes hours and hours to find the source code with the error. But many times that is not possible because the 64-bit version has to be used, usually because of memory. When I have such an error in a 64-bit program, if I can I switch to 32-bit to see where the error is. An integer overflow in the 64-bit version in the IDE takes you to the obscure place in my message. If you have an integer overflow in the EXE, it just stops, with no error message, If you are running it in the IDE, it doesn't take you to the line the error, as it does in the 32-bit version, and, as far as I know, it does with all other runtime errors. I'd submit a bug report to QP, in case on doesn't already exist, and then write some helper code to workaround the issue.Īre you asking about my pet peeve about 64-bit Delphi not handling integer overflows? It has always had this flaw in the 64-bit version. I'd expect that you'd be better off using a stream writer to write such a huge collection to a stream. As for the main problem, I'm not surprised.
