RAD Studio 10.4 Sydney版本包含以下新增功能和改進功能。
Delphi的新功能
Delphi Code Insight的重大改進
RAD Studio 10.4是多年來對Delphi代碼工具的最大,最大的改進,它使用語言服務器協議(LSP)的Delphi實現提供了Code Insight。LSP是一種在單獨的過程中計算代碼完成,導航或類似結果的技術。這意味着IDE不會在完成時阻塞,並且Code Insight將提供准確的結果。在處理具有數百萬行代碼的大型項目時,10.4可大大提高開發人員的工作效率。
Delphi的新語言功能:自定義托管記錄
作為Delphi語言的主要語言,Delphi記錄類型現在支持自定義初始化,終結和復制操作。開發人員現在可以通過編寫將在各個步驟執行的代碼來定制記錄的創建,復制和銷毀方式。這為Delphi中的記錄增加了額外的功能,Delphi是一種與類相比可實現更高效率的構造。
統一內存管理
現在,Delphi內存管理使用對象內存管理的經典實現在所有受支持的平台(移動,桌面和服務器)之間進行了統一。與自動引用計數(ARC)相比,它與現有代碼更好地兼容,並且為組件,庫和最終用戶應用程序提供了更簡單的編碼。ARC模型保留用於所有平台的字符串管理和接口類型引用。
對於C ++,此更改意味着C ++中的Delphi樣式類的創建和刪除與所有堆分配的C ++類一樣,遵循正常的內存管理,從而大大降低了復雜性。
新的C ++ Builder功能
擴展的C ++庫支持
在10.4中,我們已經將眾多流行的C ++庫移植到C ++ Builder中,從而為在C ++ Builder中使用提供了優化的支持。這包括ZeroMQ,SDL2,SOCI,libSIMDpp和Nematode等庫,以及已經受支持的其他庫(例如Eigen),可通過GetIt程序包管理器下載這些庫。
Win 64-C ++調試和鏈接器
10.4引入了一個新的Windows 64位C ++調試器。該調試器基於LLDB,在調試64位應用程序時引入了顯着的穩定性改進,以及一項關鍵的新功能,可幫助評估和檢查C ++和Delphi字符串等類型以及包括std :: vector和std :: map等在內的STL集合。 。此外,為應用程序生成的調試信息使用其他調試格式。最終結果是更穩定,功能更豐富的調試體驗,以及在調試時進行更強大的檢查和評估。
工具鏈性能和質量改進
Dinkumware對STL進行了大量改進
基於為提高與通用C ++庫的兼容性所做的工作,改進了幾個關鍵的RTL方法和領域
CMake支持的幾項改進
大量改善質量和穩定性
VCL Windows的新功能
高DPI的VCL樣式更改
在10.4版中,VCL樣式體系結構已得到顯着擴展,以支持High DPI和4K監視器。現在,VCL表單上的所有UI控件都會自動縮放,以適合顯示該表單的監視器的正確分辨率。
樣式API已經過全面修訂,以支持高DPI樣式。可以從多尺度版本的庫中選擇每個UI元素,並縮放到任何DPI,從而在所有監視器上顯示清晰的UI元素。
新的高DPI樣式
我們已經更新了大量的內置和高級VCL樣式,以支持新的High-DPI樣式模式,使您可以為任何顯示器設計視覺效果出色的應用程序。
VCL每個控件樣式
VCL開發人員現在可以在一個應用程序中使用不同形式的多種VCL樣式,甚至可以使用同一形式的不同可視控件。這還包括支持使用默認平台主題樣式化任何元素。除了在樣式上提供更大的靈活性之外,這還使您能夠在樣式化的VCL應用程序中使用第三方未樣式化的控件。
新的VCL組件:邊緣瀏覽器控件
10.4包括一個新的VCL Web瀏覽器組件TEdgeBrowser,它使用Microsoft的基於Chromium的新Edge WebView2。與舊的基於Internet Explorer的TWebBrowser相比,它提供了更加現代的HTML引擎和安全的HTML引擎。
此外,經典的TWebBrowser組件已得到擴展,泰山老父允許現有應用程序中的瀏覽器控件使用現有Internet Explorer或Edge瀏覽器進行顯示,具體取決於系統上可用的瀏覽器。
新的VCL組件:TTitleBarPanel和自定義標題欄
新的TTitleBarPanel控件和TForm.CustomTitleBar屬性允許您自定義VCL表單的本機Windows標題欄。您可以將VCL控件放置在Windows標題欄上,控制元素的默認繪制,例如窗口圖標和標題,在“最小化”,“最大化”和“關閉”按鈕附近添加新的自定義系統按鈕,甚至完全自定義繪制標題欄。這使您能夠構建現代的增強標題欄,類似於Office,Explorer,Google Chrome或其他應用程序。
新的VCL組件:具有多分辨率支持的圖像組件
有一個新的TVirtualImage組件,它支持多種分辨率和DPI縮放比例,使您可以通過替換經典的TImage組件來獲得高質量的圖像縮放比例和顯示。
Windows API更新
我們增強了許多API聲明並添加了其他聲明,以進一步改善RAD Studio提供的出色平台集成。
FireMonkey平台的主要增強功能
Metal驅動程序對macOS和iOS的GPU支持:在macOS平台(Delphi)上,您現在可以針對Metal API而不是舊的Quartz API和OpenGL(Apple棄用)構建應用程序。FireMonkey Metal支持為將來的需求提供了平穩的遷移,並為屏幕渲染提供了更好的性能。在10.4中,我們還添加了對iOS(Delphi和C ++ Builder)上的Metal API的支持。
除了支持最新的iOS SDK,使用RAD Studio 10.4的開發人員還可以通過內置的IDE支持來滿足Apple新的啟動屏幕故事板要求。
此版本包括Windows平台上樣式為TMemo組件的新FMX實現,為IME提供了更好的支持和其他增強功能。
Enterprise和Architect Edition客戶可以利用FMXLinux集成來構建Linux GUI應用程序。
iOS的TWebBrowser控件現在使用WKWebView API實現
Media Player控件的macOS實現現已使用AVFoundation
使用FireMonkey框架的開發人員可以針對支持的操作系統的最新版本。
關鍵運行時庫增強
增強的並行編程庫支持:並行編程庫(PPL)使您的應用程序能夠在現代多核CPU中並行運行任務。在10.4中,我們對PPL庫進行了許多性能和穩定性增強。
在10.4中,我們對FireDAC數據庫訪問庫進行了一些常規增強,並更新了FireBird,PostgreSQL和SQLite的驅動程序。對於SQLite嵌入式數據庫,我們現在提供了在靜態或動態鏈接之間進行選擇的功能。
我們使用其他HTTPS功能擴展了HTTP和REST客戶端庫,並擴展了對Amazon AWS服務的支持。
LiveBindings性能和功能增強
在10.4中,我們對VCL和FireMonkey應用程序的Visual LiveBindings體系結構和實現進行了許多增強,尤其着重於性能。結果,某些LiveBindings操作的速度提高了一個數量級。
其他改進包括綁定到TDataSet的VCL和FMX控件自動適應關聯的TField屬性(如DisplayWidth,Alignment和EditMask)的功能。
IDE的主要增強功能
GetIt軟件包管理器增強功能
IDE中的GetIt軟件包管理器在10.4中進行了重大改進。這包括顯示每個程序包的發布日期,並可以按發布日期對它們進行排序;已安裝軟件包的新過濾選項,更新訂閱客戶可用的專有內容,可用更新的軟件包;和更多。
用於在線和離線安裝的統一安裝程序
在10.4中,我們將使用GetIt安裝程序技術引入統一的安裝程序。這提供了一個單一安裝程序,該安裝程序同時支持聯機(通過Internet連接)安裝和脫機安裝(通過ISO)。現在,在線安裝和離線安裝都允許您選擇要安裝的RAD Studio初始功能集,例如對編程語言和目標平台的特定組合的支持,語言支持或幫助資源,並可以隨時添加或刪除它們。
代碼編輯器在生產率方面進行了幾項改進,包括新設置,例如編輯器狀態欄上的文件代碼頁和字體大小。
IDE和鍵對話框使用新的TCustomTitleBar控件在標題欄上實現搜索和設置,從而啟用本機外觀和Windows DWM行為。