翻譯|行業資訊|編輯:周思宇|2023-04-19 12:00:33.460|閱讀 195 次
概述:更新 Delphi,新版本的優勢是提高高端應用程序開發生產力的新功能。在本文中,我們將展示Delphi 自版本 7 以來的主要變化,并回答有關 Delphi 舊版本支持終止的問題。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
FastReport 是功能齊全的報表控件,可以幫助開發者可以快速并高效地為.NET,VCL,COM,ActiveX應用程序添加報表支持,由于其獨特的編程原則,現在已經成為了Delphi平臺最優秀的報表控件,支持將編程開發中的報表信息輸出為TXT、PDF等多種文件格式,是編程開發人員必備的報表工具。
FastReport VCL 是一個附加組件,用于快速有效地生成報表。FastReport提供了開發報表所需的所有工具,包括可視報表設計器、報表core和預覽窗口。
重要更新:報表控件FastReport VCL 不再支持低于 2010 的 Delphi 版本,主要有以下原因。
盡管我們從 1995 年就開始使用 Delphi,但它在不斷發展,并且在程序員的工作中具有不可否認的優勢。Delphi 的 FastReport 產品也不會停滯不前,我們嘗試在每個版本中為開發人員提供新的和更現代的功能。您可能想知道:為什么要更新 Delphi,新版本的優勢是什么?其實主要是提高高端應用程序開發生產力的新功能。在本文中,我們將展示Delphi 自版本 7 以來的主要變化,并回答有關 Delphi 舊版本支持終止的問題。
對FastReport VCL 2023.2的保證支持僅從Delphi 2010開始提供。
2.為什么我們要棄用 2010 以下的舊版本的 Delphi,這種棄用對開發的阻礙是什么?
報告生成器的 VCL 開發的一個重要階段是結束對過時的非 Unicode 版本的支持。它將幫助我們更加集中地改進 FastReport,并在每個版本中引入更多現代功能。自 2023.1 發布以來,FastReport VCL 支持從 2010 開始的 Delphi 版本。
幾個因素影響了這個決定:
多個模塊的命名空間、for...in...do 循環、函數的內聯指令以及其他代碼優化
在 Delphi 中,編譯器允許過程和函數具有內聯指令,從而提高性能。當過程或函數滿足特定條件時,編譯器會在調用的確切位置插入代碼,而不是生成常規調用。內聯方法可以優化性能并生成運行速度更快但代價是增加代碼大小的代碼。在這種情況下,編譯器生成的二進制文件會更大。與其他指令一樣,內聯指令用于聲明和定義函數和過程。
快速代碼重構
代碼重構是在不改變其功能的情況下重構和修改現有代碼。重構可以加速、簡化和提高應用程序代碼的性能和可讀性。
Delphi 中的重構服務分析并執行代碼重新分發操作。該服務還在預覽模式和代碼編輯器底部的重構面板中顯示更改。重構候選項顯示為樹節點,您可以打開這些節點以查看要重構的其他項目。警告和錯誤也顯示在此面板上。您可以通過上下文和主菜單訪問重構服務。
單元測試
新版本的 Delphi 包括用于創建和運行自動化測試的開源 DUnit 測試框架。該框架有助于為應用程序類和方法創建測試。與重構一起使用時,此功能可以提高應用程序的穩定性。
由于項目源代碼更改時及時啟動測試,您可以在早期開發階段發現并修復錯誤。
在語言、庫和開發環境級別對 Unicode 的端到端支持
Unicode是一種標準,允許您獲得計算機表示并使用任何書寫系統。
- Unicode 標準:5.0 版。5. 編輯。Addison-Wesley Professional, 2006. 1472p
可以使用 Unicode 表示不同語言的大量字符集,例如亞洲變體。最常見的編碼是 UTF(Unicode 轉換格式)和 UCS(通用字符集)。
新版 Delphi 的重要變化之一是字符串類型現在基于 UNICODE。鑒于字符串的大小(以字節為單位),基于 ANSI 標準及更高版本的AnsiString 和 WideString 等數據類型仍然可用。
Unicode 支持的更改列表:
未改變:
活動代碼頁控制模式(ANSI 或 Unicode),并且仍然支持 ANSI 字符串。
不依賴于字符大小的操作:
許多公司分發他們的應用程序和/或與 Unicode 支持至關重要的國家/地區交換信息。
泛型
“通用”是通用類型的術語。它是指使用語言語法在某些容器類型(例如數組或集合)中預定義數據類型。泛型允許您編寫適用于特定數據類型(即類或類方法)的通用代碼。您還可以在運行時指定類型。
自 Delphi 2009 以來引入了對泛型的支持。
Delphi RTL 包括開箱即用的集合實現(在“Generics.Collections”模塊中定義):
匿名方法
匿名方法是沒有關聯名稱的過程或函數。匿名方法是代碼的一部分,可以與變量關聯或用作其他方法的參數。此外,匿名方法可以在定義它們的上下文中使用變量。聲明和使用匿名方法不需要復雜的語法。語法類似于其他編程語言中的閉包。
新的 VCL 組件(自定義提示、功能區控件等)
直接二維支持
Direct2D API——設計用于與 GDI、GDI+ 和 Direct3D 交互的程序接口。Direct2D 將所有繪圖操作重定向到 GPU(圖形處理單元)而不是 CPU。它為應用程序提供了更多資源。從 Microsoft Windows 7 開始,添加了使用 Direct2D 的功能:用于硬件加速 2D 圖形輸出的 API,允許在顯示 2D 對象、位圖和文本時提高性能。
新版本的 Delphi 在 IDE 級別支持 Direct2D。
IDE Insight、源代碼格式化程序、搜索任務欄
添加了新的 IDE Insight 服務,允許您輸入名稱并從合適的選項列表中選擇項目選項和開發人員首選項。IDE Insight 輸入字段包括命令、文件、組件和項目等多個類別的選項。
Delphi 環境默認根據模板提供代碼格式化。
此外,IDE 現在提供可通過啟用 CTRL+D 激活的完全可定制的代碼格式化服務。它確保模塊根據預定義的設置進行格式化。此外,您可以使用項目管理器格式化項目中包含的所有模塊。
后臺編譯
在Delphi 2010中,可以在后臺進行編譯。因此,您可以在單獨或并行線程中運行編譯過程,并在編譯項目時繼續在 IDE 中工作。例如,在編譯期間,您可以編輯文件并設置或更改斷點。
擴展RTTI
運行時類型識別 (RTTI) 提供有關對象的信息,允許它們在應用程序內進行交互。在使用對象檢查器、代碼編輯器和建模工具時,Delphi IDE 是另一個很好的 RTTI 用例。
其他編程語言的發展改變了我們的編程方式,而 Java 和 .NET 應用程序完美地展示了這些創新,因為現代編程語言提供了新級別的動態交互。由于 Delphi 對 Win32 的廣泛 RTTI 支持,Delphi 2010 現在擁有 .NET 和 Java 的所有功能。新的 RTTI 系統 (RTTI.pas) 是完全面向對象的,允許您在對象之間創建和實現更多的動態交互。
運算符重載
在新版本的 Delphi 中,您可以重載記錄中的某些函數或“運算符”。操作數函數的名稱對應于源代碼中的符號表示。
班級助手
“助手”是一種類,它通過將附加方法和屬性與另一個類相關聯來引入它們。這些方法和屬性可以在關聯(或派生)類的上下文中使用。類助手是一種在不繼承類的情況下擴展類的方法。只有當編譯器最終確定標識符名稱時,“helper”類才會引入額外的作用域。
嚴格私有和嚴格保護
較新版本的 Delphi 有兩個選項可以控制類屬性的可見性:strict private 和 strict protected。
嚴格私有:類屬性僅在聲明它們的類中可見。這些屬性對于在同一模塊中聲明的方法或那些不屬于該類的方法是不可見的。
嚴格保護:指定后代可以訪問類屬性。
線程中的斷點,“凍結/解凍”線程
新的內存管理器和新的 RTL 特性
改進了一些 RTL 功能以提高性能。用于 Win32 應用程序的新 FASTMM 內存管理器允許 Delphi 2006 應用程序更好地執行并通過在代碼中的任何位置聲明 ReportMemoryLikeonShudown := True 來檢測內存泄漏。從 Delphi 2006 開始,除了檢測內存泄漏外,應用程序的速度也有了顯著提高。
文件和目錄中面向對象 I/O 的類
從 Delphi 2010 開始,添加了一個新的 IOUtils 模塊,其中包括三個靜態類:TDirectory、TPath 和 TFile。反過來,這些類公開了幾個對 I/O 任務有用的靜態方法。大多數方法的功能和簽名都與 .NET System.IO.Directory、System.IO.Path 和 System.IO.File 類兼容。
您可以根據技術支持請求獲得最新版本的FastReport VCL,支持 Delphi 7-2009。
由于不能保證低于 Delphi 2010 的 IDE 版本的功能,因此停止對與這些版本相關的問題提供技術支持。
開發人員可以根據要求修復導致支持 Delphi 7-2009 的 FastReport VCL 完全失敗的嚴重錯誤。
拒絕Delphi 7-Delphi 2009的過時版本將使我們能夠重新分配開發團隊的資源以提高開發效率,減少實現新功能的時間并投入更多時間在FastReport VCL中查找錯誤,這反過來又會導致軟件產品工作更穩定。其目標是為所有開發人員創建一個功能強大且快速的報告生成器,這一步將使產品變得更好。
FastReport技術QQ群: 585577353 歡迎進群一起討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn