On Sat, 5 Jan 2013, Jonas Maebe wrote:
On 05 Jan 2013, at 13:10, Michael Van Canneyt wrote:
On Sat, 5 Jan 2013, Jonas Maebe wrote:
On 05 Jan 2013, at 12:53, Paul Ishenin wrote:
ResourceStrings are stored as AnsiString type with 0 codepage (as I remember).
Delphi now stores ResourceStrings as UnicodeString type. I think FPC will
follow this in m_default_unicodestring modeswitch.
It would probably even be better to always do that. At least I don't see a
downside, other than slightly larger binaries (and that's not an issue in
this case as far as I'm concerned; maintaining two separate resourcestring
systems/handlers is just not worth the trouble).
But it means that for
Resourcestring
AString = 'Something';
Var
S : Ansistring;
begin
S:=AString;
end.
Always a conversion will happen.
I do not think this is a good idea given that currently, String = Ansistring.
String will always be shortstring or ansistring in the syntax modes in which that is currently the case.
And yes, it will involve a conversion in that case.
Just like every single constant string assignment to an ansistring in 2.6.x in case the constant string
contains non-ASCII characters and is part of a {$codepage xxx} file (because those strings are all stored
as unicodestring in the program there).
Judging by all the code that I have written during 14 years, there would never
be a single conversion necessary.
This system would force them on me for every single use.
I do not think that the support of both ansi/unicode string resources is such a
burden that it justifies that.
I admittedly have limited knowledge of compiler internals, but I cannot imagine that being able to store them
in 2 formats (ansi and some form of unicode) is more than a matter of maintaining 1 flag per string, and writing
a word instead of a byte.
All the other code, needed for conversions depending on codepage and whatnot
settings, is necessary anyway.
Michael.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel