[Lazarus] Making sources compatible with Delphi (but Lazarus is priority)

Ondrej Pokorny lazarus at kluug.net
Fri May 5 11:41:21 CEST 2017


On 05.05.2017 11:23, Michael Van Canneyt via Lazarus wrote:
> Yes, this somewhat alleviates the problem; but this still is a 
> single-byte TStrings, as opposed to the WideString
> TStrings of Delphi. It's also still a single-byte filename argument.

Yes but you forget that unicode is also single-byte UTF-8. And the 
greatest thing about FPC: it fully supports "DefaultSystemCodePage := 
CP_UTF8".

Therefore you don't need WideString/UnicodeString file arguments and 
UnicodeString-TStrings to have full unicode support in current FPC.

Just use "DefaultSystemCodePage := CP_UTF8" and every single-byte string 
is unicode enabled.

Believe me, I use it in production without any problems: I have 
unicode-aware TStrings, I can read files with unicode names, I can do 
everything with plain FPC trunk.

I don't need a 100% UTF-16 Delphi-Compatible RTL for that at all. I can 
do that with current UTF-8 FPC RTL as well. (Honestly I think it's 
better for FPC to stick with UTF-8 and don't overcomplicate the RTL with 
UTF-16 support.)

Ondrej


More information about the Lazarus mailing list