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

Reply via email to