According to this MSDN page:
WOW64 enables 32-bit applications to take advantage of the 64-bit kernel. Therefore, 32-bit applications can use a
Use the linker directive $SetPEFlags:
{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}
The IMAGE_FILE_LARGE_ADDRESS_AWARE
constant is defined in Windows.pas. I don't remember which Delphi version first included it, though.
In Delphi 2007, you'll find SetPEFlags documented in "PE (portable executable) header flags (Delphi)".
Some useful IMAGE_FILE_HEADER flags:
{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE} //$0020
Application can handle addresses larger than 2 GB.
{$SetPEFlags IMAGE_FILE_NET_RUN_FROM_SWAP} //$0800
If the image is on the network, copy it to and run it from the swap file.
{$SetPEFlags IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP} //$0400
If the image is on removable media, copy it to and run it from the swap file.
Some IMAGE_FILE_HEADER flags:
{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_NX_COMPAT} //$0100
The image is compatible with data execution prevention (DEP).
{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE} //$0040
The DLL can be relocated at load time. (aka ASLR - Address Space Layout Randomization)
{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE} //$8000
The image is terminal server aware.