In XE ist ales schon "Wide" (
Unicode)
FileExists ist mit UnicodeString (also String, seit Delphi 2009) deklariert.
#Und dann gibt es diese Typen und WinAPIs einmal mit A (
ANSI), W (Wide aka
Unicode) und ohne, wo es bis D2007 nach
ANSI und ab D2009 nach Wide/
Unicode gemappt (weitergeleitet) wird.
Es gibt noch gesonderste Units, in welchen z.B. zusärtliche Wide- oder (seit D2009)
ANSI-Versionen verschiedenster Funktionen rumliegen.
So gibt es seit D2009 z.B. die
Unit AnsiStrings, wo man ein StringReplace für
ANSI findet, da das "normale" StringReplace ja nun für
Unicode ausgelegt ist.
PS: Um dich zu verwirren: AnsiUpperCase ist (standardmäßig)
Unicode (Codegear/Emba dachten es wäre so "leichter" für uns)