[Lazarus] non Unicodode application

Mattias Gaertner nc-gaertnma at netcologne.de
Fri Feb 12 15:53:54 CET 2016


On Fri, 12 Feb 2016 14:25:43 +0100
Michael Schnell <mschnell at lumino.de> wrote:

>[...]
> A friend of mine wants to port an application from Delphi 7 to a be a 
> Lazarus 64 Bit Windows application.
> 
> This (huge) application only features a very limited GIU, but uses 
> strings lot for "uncoded" characters, going in and out via TCP/IP. Any 
> automatic type conversion would kill the application.
> 
> So it would be necessary that fpc is configured to use the (old) 8 bit 
> Strings. These might be used with UTF8 encoding for the GUI stuff (and 
> for some limited locations in the business-code with *explicit* 
> conversion).
> 
> Is this possible with the current version of Lazarus  ?

FPC 3.0+ does not arbitrarily change the encoding of strings.
That's why the LCL can use UTF-8 in AnsiStrings even without the new
UTF-8 mode. It works pretty similar to FPC 2.6.4.

The many encoding discussions raised from the problem that the LCL
uses UTF-8 strings in RTL classes which expect system encoding.
Your friend does not have this problem.

Your friend can use the LCL for the GUI with disabled UTF-8 mode.
He has to check (convert) the strings between his TCP/IP code and the
LCL controls (e.g. UTF8ToSys). As he has only a small GUI this should
be easy.


> As I lost the clue on the planned path regarding code-aware strings: 
> will this be possible with future versions of Lazarus ,as well ?

The new UTF-8 mode is easier for new projects. Many old projects still
use the old mode. So chances are high that it will be supported the
next years.

Mattias




More information about the Lazarus mailing list