[fpc-devel] Re: Changing Windows API A routines in SysUtils to W in Windows NT

Sven Barth pascaldragon at googlemail.com
Mon Feb 6 21:07:30 CET 2012

On 06.02.2012 20:55, Thaddy wrote:
> On 6-2-2012 20:21, Sven Barth wrote:
>> Out of interest: Which flag are you talking about? Because I'm not
>> aware of any such flag.
>> Regards,
>> Sven
>> _______________________________________________
>> fpc-devel maillist - fpc-devel at lists.freepascal.org
>> http://lists.freepascal.org/mailman/listinfo/fpc-devel
> It is known which versions are unicode. I am merely refering to the OS
> version flags. These are the ones which determine if the windows version
> is unicode or ansi.
> There's no point in running an ansi compiled exe on a unicode platform.
> Once a programmer decides his/hers minimum requirements, the compiler
> should obey. The OS does (up to a certain point)
> These decisions should be made by the compiler based on platform choice,
> not in rtl code. That should be optional (as of 2010/XE this is also D
> compatible)

The check you are talking about in C++ is a compile time define that 
just switches the defines for e.g. CreateProcess to CreateProcessW or 
CreateProcessA (depending on whether UNICODE is defined or not when 
including the Windows headers).

There is no other "magic" in Windows that changes the imports at runtime.


More information about the fpc-devel mailing list