I work with a supplier who provides data files containing their product information for use by my system. Up until recently, their data file (in wide string / Unicode format) size was less than 2 gig and read easily into various Delphi components such as TStringList and TMemoryStream using the loadfromfile method.
Although I am already compiling in 64 bit, the data file has now grown to exceed 2 gig with the ensuing result that I get 'Stream Read Error'.
I have looked into the TStream Code and in various places the "size" variable in use is declared as an integer, hence the error. Although I am working on XE5, I tried the recent XE10 trial and got the same result.
Ideally I would like to work with TStringList or TDynStringArray to iterate through the input data, but I cannot find an easy work-around.
Am I missing something? I contacted Embarcadero tech support but their response was that they needed to keep the integer to protect 32 bit operations!
Any help or suggestions gratefully accepted.