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