Nach genauerer Betrachtung tust Du das aber. Die Deklaration als AnsiString/PAnsiChar bewirkt ja nicht, dass da nun CharToOEMA/OEMToCharA aufgerufen wird, das muss man schon explizit tun. Deshalb gilt
Zitat:
If the OemToChar function is being used as an
ANSI function, the string can be translated in place by setting the lpszDst parameter to the same address as the lpszSrc parameter. This cannot be done if OemToChar is being used as a wide-character function.
auch weiterhin, zumindest ab Delphi 2009.
Wenn ich das richtig verstehe ruft die Funktion OemToChar
bis Delphi 2007 -> OemToCharA
ab Delphi 2009 -> OemToCharW auf.
Ok, dann häng ich da gleich noch ein A dran...