Delphi 10.1 Berlin reintroduces UTF8String and RawByteString for the NextGen compilers (Android, iOS). But ShortString and AnsiString are still missing. The compiler has full support for them but you can’t use them because they are declared with a leading underscore in the System.pas unit what makes them inaccessible because “_” is compiled to “@” what you can’t use for an identifier.
By patching DCU files it is possible to make those hidden types accessible.
The unit System.ByteStrings for 10.1 Berlin reintroduces
- ShortString
- AnsiString
- AnsiChar
- PAnsiChar
- PPAnsiChar
- UTF8String (XE5-10 Seattle)
- PUTF8String (XE5-10 Seattle)
- RawByteString (XE5-10 Seattle)
- PRawByteString (XE5-10 Seattle)
Usage:
Add the System.ByteStrings.dcu’s path to the compiler’s search path and add the unit to your uses clauses.
There is no *.PAS file because the DCU is patched with a hex editor to get access to the hidden types.
Name | IDE Version | File | Size | Downloads | Added |
---|---|---|---|---|---|
System.ByteStrings | XE5 RTM/UP1 only | XE5ByteStrings.7z | 2.45 KB | 1512 times | 2013-10-23 |
System.ByteStrings | XE5 UP2 only | XE5Up2ByteStrings.7z | 2.85 KB | 1429 times | 2013-12-20 |
System.ByteStrings | XE6 | XE6ByteStrings.7z | 2.89 KB | 1262 times | 2014-04-16 |
System.ByteStrings | XE7 | XE7ByteStrings.7z | 2.89 KB | 1584 times | 2015-01-20 |
System.ByteStrings | XE8 | XE8ByteStrings.7z | 3.69 KB | 1652 times | 2015-04-16 |
System.ByteStrings | 10 Seattle | D10ByteStrings.7z | 3.67 KB | 1834 times | 2015-09-01 |
System.ByteStrings | 10.1 Berlin | D101ByteStrings.7z | 3.72 KB | 2287 times | 2016-05-31 |
Pingback: Berlin kann keine Umlaute - Delphi-PRAXiS