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

Felipe Monteiro de Carvalho felipemonteiro.carvalho at gmail.com
Wed Feb 8 16:21:19 CET 2012

On Wed, Feb 8, 2012 at 4:00 PM, Hans-Peter Diettrich
<DrDiettrich1 at aol.com> wrote:
> They *do* the string conversion, necessary for calling the "native"
> functions internally. In Win9x the W functions convert strings into Ansi, on
> NT the A versions convert strings into WideString. So what's the real
> benefit of conditionally calling A/W functions, and depending on what?

I don't have Windows 9x to test so I was just playing it safe by
making it work like before for people that don't want UTF-8 and by
supporting at least ASCII for people using UTF-8 in Windows 9x, which
is pretty much all that it would give us reliably anyway since other
chars will break between different computers. The if is also
efficient, because in Windows 9x it will avoid a double conversion.
Ansi or UTF-8 -> UTF-16 -> Ansi

I was trying to fix my problem while causing no impact for anyone
else. But sure, for me it is also fine to go W all the way if someone
can test that it works in Windows 9x or if someone does the decision
to kill support for it.

Felipe Monteiro de Carvalho

More information about the fpc-devel mailing list