Patch Bytestrings อย่างไม่เป็นทางการเพื่อเปิดใช้งานการสนับสนุน Ansistring ใน Delphi รุ่นต่อไป
System.bytestrings สำหรับ Delphi 10.2-10.3
Delphi 10.1+ เบอร์ลินแนะนำ UTF8STRING และ RAWBYTESTRING สำหรับคอมไพเลอร์ NextGen (Android, iOS, Linux) แต่ Shortstring และ Ansistring ยังคงหายไป คอมไพเลอร์ได้รับการสนับสนุนอย่างเต็มที่สำหรับพวกเขา แต่คุณไม่สามารถใช้งานได้เพราะพวกเขาได้รับการประกาศด้วยขีดล่างชั้นนำในระบบหน่วยสิ่งที่ทำให้พวกเขาไม่สามารถเข้าถึงได้เพราะ "_" ถูกรวบรวมเป็น "@" สิ่งที่คุณไม่สามารถใช้สำหรับตัวระบุ
โดยการแก้ไขไฟล์ DCU เป็นไปได้ที่จะทำให้ประเภทที่ซ่อนอยู่เหล่านั้นสามารถเข้าถึงได้
หน่วย SYSTEM.BYTESTRINGS สำหรับ 10.2-10.3 Reintroduces
เพิ่ม System.bytestrings.dcu ไปยังเส้นทางการค้นหาของคอมไพเลอร์และเพิ่มหน่วยลงในส่วนการใช้งานของคุณ
ไม่มีไฟล์ system.bytestrings.pas เนื่องจาก DCU ได้รับการแก้ไขด้วยโปรแกรมแก้ไข HEX เพื่อเข้าถึงประเภทที่ซ่อนอยู่
โดยรวมแล้วไม่จำเป็นต้องใช้ System.Bytestring
ใช้ {$ ถ้า rtlversion <34.0} system.bytestrings, {$ endif} ...
ดู Delphi 10.4: https://www.embarcadero.com/products/rad-studio/whats-new-in--10-4-sydney
การจัดการหน่วยความจำแบบครบวงจร
การจัดการหน่วยความจำ Delphi ได้รับการรวมเป็นหนึ่งในแพลตฟอร์มที่รองรับทั้งหมด - มือถือเดสก์ท็อปและเซิร์ฟเวอร์ - โดยใช้การใช้งานแบบคลาสสิกของการจัดการหน่วยความจำวัตถุ เมื่อเปรียบเทียบกับการนับการอ้างอิงอัตโนมัติ (ARC) สิ่งนี้ให้ความเข้ากันได้ดีขึ้นกับรหัสที่มีอยู่และการเข้ารหัสที่ง่ายกว่าสำหรับส่วนประกอบไลบรารีและแอปพลิเคชันผู้ใช้ปลายทาง โมเดล ARC ยังคงอยู่สำหรับการจัดการสตริงและการอ้างอิงประเภทอินเตอร์เฟสสำหรับทุกแพลตฟอร์ม สำหรับ C ++ การเปลี่ยนแปลงนี้หมายความว่าการสร้างและการลบคลาสสไตล์ Delphi ใน C ++ เป็นไปตามการจัดการหน่วยความจำปกติเช่นเดียวกับคลาส C ++ ที่จัดสรรไว้ฮีปใด ๆ ลดความซับซ้อนอย่างมีนัยสำคัญ