The Return of the Byte-Strings

  

Delphi’s NextGen compiler (Android, IOS) removed support for UTF8String, AnsiString and RawByteString. But if you look into System.pas you see that those types are still there but Embarcadero makes them inaccessible from outside of System.pas by prefixing them with an underscore that the compiler converts to the at-sign. And you can’t write “@UTF8String” as it is not a valid identifier.
By patching DCU files it is possible to make those hidden types accessible. And guess what, the compiler generates correct code for the “unsupported” strings.
The unit System.ByteStrings reintroduces:

ShortString

AnsiString

AnsiChar

PAnsiChar

PPAnsiChar

UTF8String

PUTF8String

RawByteString

PRawByteString

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
611 times
2013-10-23

System.ByteStrings
XE5 UP2 only
XE5Up2ByteStrings.7z
2.85 KB
533 times
2013-12-20

System.ByteStrings
XE6
XE6ByteStrings.7z
2.89 KB
402 times
2014-04-16

Comments are closed.