On 13.12.2015 11:37, Jürgen Hestermann wrote:
 > And hence, at that point in time, there would (for programmers using
 > Lazarus) bee no need to use the type Utf8String at all.

Then I would suggest to remove this type.



Utf8String is part of the FPC RTL and is just a shorthand for AnsiString(CP_UTF8). That the LCL provides String routines that don't take an Utf8String, but an AnsiString, aka AnsiString(CP_ACP) is not the fault of the Utf8String type, so it will stay. Period.

But I still don't understand the rationale behind the decision to not allow
ansistring(A) to be fed into a var parameter of ansistring(B).
I would expect that *all* ansistrings are assignement compatible.

They *are* assignment compatible, just like ShortString and UnicodeString are assignment compatible. But they are different types and just like you can't pass a UnicodeString to a function expecting a ShortString var parameter you can't pass an AnsiString(CP_UTF8) to a function expecting a AnsiString(CP_ACP). Simply consider them as different types with automatic type conversions between them...

Regards,
Sven

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to