Our program is acting weird. Using Delphi 11, we are building a program where the target platform is 64 bit. Every setting we have checked would point to a 64 bit result. However, when we run the program, and start to eat up some memory with large collections, etc. we get Out of Memory errors once we reach around 4G of memory allocated just like a 32 bit program would do.
Question is... Is there IDE setting at design time that would quietly revert the final product back to a 32 bit version? Would a third party component somehow change it? Are there compiler directives that could be hidden in our old code that could revert the build? We are at a loss to why our program is acting this way. Just looking for any answers so we can get the 64 bit memory advantages. Thank you everyone.
IDE target platform is Windows 64-bit version. We can repeatedly load a large collection as a test, and it always dies on Out of Memory errors like a 32bit version would.
One possibility is the IMAGE_FILE_LARGE_ADDRESS_AWARE flag is cleared.
At: Memory Limits for Windows and Windows Server Releases the cell for 64-bit apps on 64-bit Windows contains: 2 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE cleared.