Byte-Strings for XE8’s mobile compilers

  • 主题发起人 Andreas Hausladen
  • 开始时间
A

Andreas Hausladen

Unregistered / Unconfirmed
GUEST, unregistred user!
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​
696 times​
2013-10-23​
System.ByteStrings
XE5 UP2 only​
XE5Up2ByteStrings.7z
2.85 KB​
615 times​
2013-12-20​
System.ByteStrings
XE6​
XE6ByteStrings.7z
2.89 KB​
474 times​
2014-04-16​
System.ByteStrings
XE7​
XE7ByteStrings.7z
2.89 KB​
419 times​
2015-01-20​
System.ByteStrings
XE8​
XE8ByteStrings.7z
3.69 KB​
304 times​
2015-04-16​

查看更多...
 

Similar threads

A
回复
0
查看
583
Andreas Hausladen
A
A
回复
0
查看
634
Andreas Hausladen
A
A
回复
0
查看
651
Andreas Hausladen
A
A
回复
0
查看
842
Andreas Hausladen
A
A
回复
0
查看
793
Andreas Hausladen
A
顶部