Und genau das ist der Müll den Embagardo oder wer auch immer verzapft hat.
Das ist doch richtig so?
Die
WinAPI kennt nut CopyFileA und CopyFileW.
Dieses ist beides in Delphi implementiert
und zusätzlich noch das CopyFile, welches an den "StandardString" des verwendeten Compilers angepaßt ist.
PS: Das ist auch in den C-Headern so.
Char, String, PChar und die APIs ala CopyFile sind Weiterleitungen, welche an den Compiler angepaßt sind.
Wenn du also immer nur String, PChar und die dynamischen APIs nutzt, dann paßt sich dieses jeweils an den Compiler an.
Bis Delphi 2007 also
Ansi und ab 2009
Unicode.
Alles andere ist fest uns somit überall gleich.
Ersteres nutzt man, wenn man den "aktuellen"Standard möchte
und Letzteres nutzt man, wenn man unbedingt auf ein bestimmtes Format angewiesen ist.
Genau das Gleiche ist mit dem Integer und LongInt,
wobei hier wirklich jemand mist gebaut hat und urplötzlich, beim Umstieg von 32 auf 64 Bit den Integer eingefrohren hat.