On 14/9/2011 03:40, Graeme Geldenhuys wrote:
On 14/09/2011 03:56, Luiz Americo Pereira Camara wrote:
I propose that the above behavior be implemented as a type named RTLString
The Object Pascal language already has enough damn string types. I
really don't think we should be adding fuel to the fire, by adding yet
more string types!
AFAIK RTLString already exist in the cpstr branch. Anyway is just a
alias to a real type.
[]
String could be define as follows... [ignore the syntax]
IFDEF unix
String = String(utf8);
ENDIF
IFDEF windows
String = String(utf16)
ENDIF
IFDEF OldDelphi
String = AnsiString // of if some String(xxx) could be used
ENDIF
This is not desirable simply because at each platform (windows / unix)
the user code of the same program will have a different encoding
increasing the possibility of subtle errors. Some functions like string
streaming requires the same encoding between platforms otherwise it will
require code change to work properly.
Another advantage of using RTLString as i proposed is that Lazarus will
require almost no code change since the encoding of string in LCL will
be the same (UTF8) across platforms. The conversion will take place only
when interacting with the RTL
Luiz
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel