On Tue, 7 Jan 2014, Michael Schnell wrote:

On 01/07/2014 11:48 AM, Michael Van Canneyt wrote:
TRawByteString is what you need.

AFAI was told by DXE users, this is not true. That is why i did not test this yet. But as you state otherwise I will check into that.

But anyway this does not help, as long as the RTL (especially TStrings, TStringList) does not use such type, but forces a fixed type and thus unnecessary conversions in and out. (there have been several discussion on that, including how to implement decent encoding-checks in the compiler, and performance issues).

We are well aware of that.

If you want a TStrings that can hold strings which may differ in their encoding (i.e. strings[0] has a different encoding from strings[1]) then you'll be left in the cold.

TStrings will not support that (unless maybe the rawbytestring type can be specified, I would need to check that).

Other than that, you can/must specify an encoding when creating the TStrings 
instance.
As a consequence all strings you add will be checked for this encoding. This is 
only logical.

That said, if you have use-case 1 (which I doubt, since it is not possible even 
today)
then you're better off using unicodestring anyway.

Michael.
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to