[Lazarus] Beyond Compare 4 built with Lazarus 1.2

Juha Manninen juha.manninen62 at gmail.com
Tue Dec 31 14:49:54 CET 2013


On Tue, Dec 31, 2013 at 1:56 PM, Jürgen Hestermann
<juergen.hestermann at gmx.de> wrote:
> This is a real mess.

Yes, but there is no need to repeat it again and again. As I replied
to Marcos Douglas, this same discussion and complaining has continued
in FPC mailing lists for ~ 4 years. Everybody SURELY knows there are
problems with Unicode.
There is no easy solution so it takes time, but the developers already
have a valid solution baking.
Let's be more constructive.

>       ShowMessage(Trim(SysToUTF8(SysErrorMessage(GetLastError))));

LazUtils has SysErrorMessageUTF8() which is identical to your wrapper
except for Trim() call.
BTW, trailing spaces and tabs are not part of the character encoding problem.
Lazarus offers a working UTF-8 solution.
If you need a solution now, please use it, otherwise wait for the
coming FPC solution.

> How else should a user find out about this?

By learning once that a "string" currently means AnsiString with
System-ANSI-encoding.
Michael Van Canneyt also tried to explain it to you.
Once you know it, the documentation does not need to repeat the same
thing always when "string" is used.
It also does not explain "integer" every time an "integer" is used.

Juha




More information about the Lazarus mailing list