With plain strings, or Ansi strings, we have code that works today.
If you change any of those to UTF*, then code that uses things such as
SetLength, Length, stringvar[index], copy(string, index, count), pos
etc. cannot work 100% reliably. You don't know what the programmer
wants when he says stringvar[3].....
That is what the two types ANSString and UTF8String suggest: if you use
ANSIString, everything works fine as it always did, if you use
UTF8String you need to take a look at what Unicode handling is all
about. But unfortunately the compiler does not know the difference
between the two types and can't do the appropriate conversions if
necessary (e.g. when accessing the LCL that uses UTF8String) or call the
appropriate functions (like for doing uppercase) according to what
type(s) are used in an operation.
-Michael
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel