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 | 1578 times | 2013-10-23 |
System.ByteStrings | XE5 UP2 only | XE5Up2ByteStrings.7z | 2.85 KB | 1504 times | 2013-12-20 |
System.ByteStrings | XE6 | XE6ByteStrings.7z | 2.89 KB | 1337 times | 2014-04-16 |
System.ByteStrings | XE7 | XE7ByteStrings.7z | 2.89 KB | 1667 times | 2015-01-20 |
System.ByteStrings | XE8 | XE8ByteStrings.7z | 3.69 KB | 1724 times | 2015-04-16 |
System.ByteStrings | 10 Seattle | D10ByteStrings.7z | 3.67 KB | 1906 times | 2015-09-01 |
System.ByteStrings | 10.1 Berlin | D101ByteStrings.7z | 3.72 KB | 2376 times | 2016-05-31 |
Pingback: Berlin kann keine Umlaute - Delphi-PRAXiS