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 | 1584 times | 2013-10-23 |
System.ByteStrings | XE5 UP2 only | XE5Up2ByteStrings.7z | 2.85 KB | 1511 times | 2013-12-20 |
System.ByteStrings | XE6 | XE6ByteStrings.7z | 2.89 KB | 1345 times | 2014-04-16 |
System.ByteStrings | XE7 | XE7ByteStrings.7z | 2.89 KB | 1677 times | 2015-01-20 |
System.ByteStrings | XE8 | XE8ByteStrings.7z | 3.69 KB | 1736 times | 2015-04-16 |
System.ByteStrings | 10 Seattle | D10ByteStrings.7z | 3.67 KB | 1915 times | 2015-09-01 |
System.ByteStrings | 10.1 Berlin | D101ByteStrings.7z | 3.72 KB | 2389 times | 2016-05-31 |
Pingback: Berlin kann keine Umlaute - Delphi-PRAXiS