No has reinventado la rueda. Lo que pasa es que, desde hace unas versiones, el tipo STRING ya no es sinónimo de AnsiString, como en Delphi 6, sino de WideString. De la misma forma CHAR ahora es sinónimo de WideChar y no de AnsiChar.
Ese problema lo tengo yo con los proyectos que quiero que funcionen tanto con Delphi como con Free Pascal, ya que en este último todavía usa AnsiString y AnsiChar como defecto; y para complicar las cosas Free Pascal usa UTF-8 por defecto en lugar de UTF-16 de Delphi. Por eso, si usas AnsiString (modo clásico) en Delphi entonces tienes que usar la unidad AnsiStrings, que contiene las versiones AnsiString de las funciones de cadena de caracteres de las unidades Strings y sysutils.
|