非官方的字節座補丁以啟用Delphi下一代的Ansistring Support
System.Delphi 10.2-10.3
Delphi 10.1+柏林重新引入了NextGen編譯器(Android,iOS,Linux)的UTF8STRING和RAWBYTESTRING。但是短屈服和束縛仍然缺失。編譯器對它們有全力支持,但是您無法使用它們,因為它們在系統中用領先的下劃線聲明了它們。 PAS單元是什麼使它們無法訪問的,因為“ _”已編譯為“@”,您無法用於標識符。
通過修補DCU文件,可以使這些隱藏類型可訪問。
單位系統。重新引入10.2-10.3
將System.ByTestrings.DCU的路徑添加到編譯器的搜索路徑,然後將單元添加到您的使用條款中。
沒有System.ByTestrings.pas文件,因為DCU已用十六進制編輯器修補以訪問隱藏類型。
總體而言,System.Bytestrings不再需要10.4+上的bytestrings,因此您可以這樣使用它:
使用{$如果rtlversion <34.0} system.bytestrings,{$ endif} ...
參見Delphi 10.4:https://www.embarcadero.com/products/rad-studio/whats-new-inew-in-10-4-sydney
統一的內存管理
現在,使用對象內存管理的經典實現,在所有受支持的平台(移動,桌面和服務器)中,Delphi內存管理已統一。與自動參考計數(ARC)相比,這為組件,庫和最終用戶應用程序提供了更好的兼容性和更簡單的編碼。 ARC模型仍然用於所有平台的字符串管理和接口類型引用。對於C ++,此更改意味著C ++中Delphi風格類的創建和刪除遵循正常內存管理,就像任何堆分配的C ++類一樣,大大降低了複雜性。