Parche de byestrings no oficial para habilitar el soporte de la Ansistring en Delphi Next Generation
System.ByTestrings para Delphi 10.2-10.3
Delphi 10.1+ Berlín reintroduce UTF8String y RawByTestring para los compiladores NextGen (Android, iOS, Linux). Pero todavía faltan cortocanttring y ansistring. El compilador tiene un soporte total para ellos, pero no puede usarlos porque se declara con un subrayador líder en el sistema. Unidad de PAS Lo que los hace inaccesibles porque "_" se compila como "@" lo que no puede usar para un identificador.
Al parchear los archivos DCU, es posible hacer que esos tipos ocultos sean accesibles.
El sistema unitario. Bytestrings para 10.2-10.3 reintroduce
Agregue la ruta System.ByTestrings.DCU a la ruta de búsqueda del compilador y agregue la unidad a sus cláusulas de usos.
No hay archivo System.ByTestrings.pas porque la DCU está parcheada con un editor hexadecimal para obtener acceso a los tipos ocultos.
En general, System.ByTestrings ya no es necesario en 10.4+, para compatibilidad, puede usarlo así:
usa {$ if rtlversion <34.0} system.bytestrings, {$ endif} ...
Ver Delphi 10.4: https://www.embarcadero.com/products/rad-studio/whats-newin-10-4-sydney
Gestión de memoria unificada
Delphi Memory Management ahora está unificado en todas las plataformas compatibles (móviles, escritorio y servidor, utilizando la implementación clásica de la gestión de la memoria de objetos. En comparación con el recuento automático de referencias (ARC), esto ofrece una mejor compatibilidad con el código existente y la codificación más simple para componentes, bibliotecas y aplicaciones de usuario final. El modelo ARC permanece para la administración de cadenas y las referencias de tipo de interfaz para todas las plataformas. Para C ++, este cambio significa que la creación y eliminación de las clases de estilo Delphi en C ++ sigue la gestión normal de la memoria al igual que cualquier clase C ++ asignada por el montón, lo que reduce significativamente la complejidad.