On Wed, 13 Mar 2019, Bart wrote:
On Mon, Mar 11, 2019 at 4:03 PM Michael Van Canneyt
<mich...@freepascal.org> wrote:
From my perspective: the public API is all that matters.
There I would opt for overloads that accept unicodestring.
Done that.
That was the easy part.
Now:
procedure GetKeyNames(Strings: TStrings);
procedure GetValueNames(Strings: TStrings);
procedure ReadStringList(const Name: String; AList: TStrings);
AFAIK we do not have a TUnicodeStrings(List).
Currently GetKeyNames and GetValueNames explicitely Utf8Encode the
unicode (Utf16) result for that methods.
Do I leave it like that?
For ReadStringList an optional parameter (like: ForceUTF8:
Boolean=False) can be added to control this behaviour.
I think this is the best.
What you could do is
TUniCodestringArray = Array of UniCodeString;
Function GetKeyNames : TUniCodestringArray;
Function GetValueNames : TUniCodestringArray;
The TStringList versions can call these and do the conversion.
Delphi AFAIK does not have such a method, so Delphi compatibility is
not an issue here.
Opninions?
Todo's for me:
- the above
- Make TXMLRegistry use UnicodeString
- Things I forgot about
- TRegIniFile: IMO don't change the API
Agreed.
Michael.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel