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

Michael Van Canneyt michael at freepascal.org
Fri May 5 11:17:54 CEST 2017



On Fri, 5 May 2017, Graeme Geldenhuys via Lazarus wrote:

> On 2017-05-05 07:43, Michael Van Canneyt via Lazarus wrote:
>> As far as I know, you don't need any tricks to work with unicode
>> filenames or output in 3.0.2. Maybe with exception of TStrings and
>> TFileStream.
>
> Again, I didn't have time to follow FPC 3.x development much, and I was too
> confused with all the Unicode changes.
>
> With FPC 3.0.x, can you now load text files from disk using TStringList and
> specify the encoding of the file at load time?
>
> Something like: 
>
>  sl.LoadFromFile('some_utf8_file.txt', CP_UTF8);
>  sl.LoadFromFile('some_utf16_file.txt', CP_UTF16);
>  sl.LoadFromFile('some_latin1_file.txt', CP_Latin1);

Not yet. These are the exceptions I was talking about.
But the FileOpen, Assign,Reset, Write of plain pascal 
do work with both Unicode and plain strings.

To fix the classes issues properly, we need a unicode RTL 
and a ANSI RTL if we wish to remain backwards compatible:
The Strings[] property can have only 1 type.

Michael.


More information about the Lazarus mailing list