delphi 各新版本特性收集


 

增強的數據庫瀏覽器

    BDP 數據提供者相應的數據庫瀏覽器已經在幾個地方作了增強。 現在可以簡單的將數據從一個BDP數據提供者遷移到另外一個,這個功能能夠允許你將一個數據表從一個BDP數據提供者復制另外一個上面. 這樣會復制和重新建立復制目標數據表的元數據, 即使這個數據根本就是來之不同的數據源, 如將Oracle的數據遷移到MSSQL上.這和BdpCopy控件的行為類似.

 

   數據庫瀏覽器還有查看額外的元數據的能力, 並且允許你直接在數據庫瀏覽器中查看和修改數據庫模型, 你能直接在裹面創建新的數據表, 修改數據表還有刪除存在的數據表.

 

  同時, 你還可以直接在數據庫瀏覽器中拖拉一個存儲過程到窗體設計器中, 這樣, 將會創建一個BdpConnection(如果需要)和一個BdpCommand實例, 並且自動設置BdpCommand的參數對應到指定的存儲過程.

 

VCL和VCL.NET的數據庫支持

   Delphi 2005中對VCL和VCL.NET的數據庫支持由BDE, dbExpress和 dbGo for ADO,以及InterBase Express(IBX)組成, 這些數據訪問技術同時在於VCL和VCL.NET的項目中可用, 這樣, 提供了一個無縫的升級Win32程序到.NET的方法.

 

dbGO for ADO

   在創建一個VCL.NET的應用程序, Delphi 2005 現在同時支持Win32和.NET的 dbGO for ADO, 這樣使移植Win32 dbGO for ADO的應用程序到.NET框架變為可能, dbGO for ADO控件需要安裝MDAC 2.8 來支持.

 

dbExpress

     dbExpress 控件組擴展了TSimpleDataSet來支持.NET, 並且提升了TSQLStoredProc的執行效率, 同時也對元數據進行改進.

 

     下列的驅動現在已經通過認證可直接用在dbExpress: Borland InterBase 7.5 (同時也能使用 InterBase 7.1, 7.0 和6.5, 但沒經過認證), Oracle 10g (能使用 Oracle 9.2.0 和 9.1.0), IBM DB2 UDB 8.x (能使用 7.x), Microsoft SQL Server 2000, IBM Informix 9.x, SQL Anywhere 9 (能使用 ASA 8), MySQL 4.0.x, and Sybase 12.5.

BDE

   針對VCL和VCL.NET應用程序的Borland 數據庫引擎(BDE), 用來支持本地的dBASE和Paradox數據集訪問. BDE for .NET 版本現在已經改進, 不再需要指定路徑, 能自動裝載BDE相關的DLL文件了,  它還改進了訪問BLOB的性能, 還新增了幾個以前沒有的, 針對.NET的BDE控件, 它們是: TUpdateSQL, TNestedTable, 和 TStoredProc.

 

IBX

  InterBase Express (IBX)提供VCL和VCL.NET應用程序直接聯接到InterBase 的功能.

 

2.5 Web

  Delphi 2005 包含了大量在VCL(Win32和.NET)和ASP.NET下增強的Web開發技術.

 

Web部署管理器

 

    Delphi 2005 親增了一個Web部署管理器, 能使用在ASP.NET Web Form各ASP.NET WEB Service項目中, 同時期intraWeb能夠同時適應VCL和VCL for .NET.Web部署管理器能夠聯接到目錄(本地的或者網絡上的)和FTP 目標. 部署管理器的窗口還能同時顯示本地的文件(從項目目錄中)和遠程的文件(從目錄或者FTP位置), 而且你只需單擊一個選項就可實現整個項目的部署. 你還能執行比較, 移除文件等到操作. 部署的設置就與你的項目文件保存在一起, 所以, 你能以一致的配置方式在不同的時間部署你的項目. 這個是一種非常有效和快捷的部署方式.

    除了支持ASP.NET和IntraWeb項目之外, Web部署管理器還能擴展來支持的其它不同的項目類型.

 

Web數據控件

   Web 數據控件能用來編寫功能強大的數據驅動的ASP.NET web 窗體應用. Delphi2005 引入了大量新的Web數據控件, 包括DBWebAggregateControl, DBWebSound, DBWebVideo, 和 DBWebNavigationExtender等,.

 

DBWebAggregateControl能用來顯示數據集中各個欄目的聚合值,  實際上可能用來顯示平均值, 計數值, 最小值, 最大值, 總額.

 

DBWebSound和DBWebVideo控件被加進來支持音頻和視頻格式. 可以通過一個DBWebDataSource控件聯接到數據集對應的字段或給它一個URL路徑.

 

DBWebNavigationExtender控件在下列這種情況下非常有用, 就是你想將數據修改發送到數據集, 而又不想使用DBWebNavigation控件時(特別是控件中那個ApplyToServer按鈕). DBWebNavigationExtender是一個非可視化控件, 能被用來擴展標准的Web控件--如按鈕—它帶有的功能和DBWebNavigator的按鈕一樣. 所以, 你能用它來編寫一個自己的導航條控件. 除了這四個新Web控件外, DbWebDataSource控件被擴展增加了一個OnAutoApplyRequest事件, 並且現在支持嵌套的更新和刪除.

 

   除了DbWebDataSource之外, Web數據控件現在還能聯接到EcoDataSource—一個聯接到ECO II ExpressionHandler的控件.

 

   Delphi 2005 還提供了一個新的Web數據控件向導讓你能編寫兼容於ASP.NET控件的自己的Web數據控件(同樣能聯接到DbWebDataSource 或者 EcoDataSource)

 

   Web數據控件現在支持XML緩存, 這個強大的功能能給web客戶端實現一個服務端公文包.

 

Web 數據導航

     Delphi 2005 Web數據控件現在擁有控制導航命令的功能, 它使用相應的導航API, 如RegisterNextControl, RegisterPreviousControl, RegisterFirstControl, RegisterLastControl, RegisterInsertControl, RegisterDeleteControl, RegisterUpdateControl, RegisterCancelControl, RegisterUndoControl, RegisterUndoAllControl, RegisterApplyControl, RegisterRefreshControl, 和 RegisterGoToControl.

 

服務端控件

    ASP.NET的HTML類控件現在能在后台文件用代碼表示成控件了, 通過選用”Run AS Server Control”這個選項, 將會增加一個 runat=server 屬性到控件的腳本中, 這就好象在控件的源碼文件中直接聲明.

 

模板編輯器

    Delphi 2005 現在為DataGrid和DataList增加了一個模板編輯器, 讓你能夠定義和更容易的編輯你自己定制的欄目模板.

 

IntraWeb

當使用VCL(Win32或者.NET)時, Delphi 2005 支持使用AtoZedSoftware (www.atozed.com)公司的IntraWeb來開發應用. IntraWeb允許快速的所見即所得式來設計Web應用程序, 很象ASP.NET, 但還是有很多地方不同. IntraWeb 對的優點就是對用戶來說不用關心底層的HTML語法和能夠幫用戶管理網頁的狀態, 這些ASP.NET是做不到的. IntraWeb 類的WEB 應用程序和非可視化的VCL控件是兼容的, 如數據訪問面板中的BDE, dbExpress, dbGo for ADO和InterBase Express(這個意味着可以從Win32遷移升級到.NET), 相反, ASP.NET的應用程序要擁有數據訪問的能力必須使用原生的.NET控件, 如ADO.NET和BDP.

 

2.6 企業核心對象 ECO II

Borland C#Builder 1.0和 Delphi8帶了第一版的ECO, 現在在Delphi 2005 中得到了極大的加強來適應有高伸縮性要求的企業應用開發. 相對初始版本, 在 ECO II有不少改進增強.

 

   其中最重要的增強總結如下:

 

- 支持可伸縮性, 分布式應用程序

 

- 支持 ASP.NET ( Web Forms 和 Web Services)

 

- 支持映像到一個存在的數據庫

 

- 針對易用性優化, 以使使用ECO流程更加容易

 

可伸縮性, 分布式應用

最重要的部分是, ECO II 現在具有企業級的伸縮能力. 相對第一版本的client/server 解決方案, ECO II 同時支持client/server 和遠程解決方案. 當你編寫有伸縮能力的ASP.NET或者WinForms應用程序時, 有幾個可能采用的結構. 都非常簡單易用. 在同進程中或不同多進程中,    想同步多個不同緩存對象如EcoSpaces 時, 可以用新增的PersistenceMapper來管理,. 同步持久性的映射關系可以在同進程內部自我執行, 或者, 更可能的情況, 在服務器中的一個進程運行.

 

ECO II and ASP.NET

現在使用Dephi 2005, 我們能夠組合ECO II和ASP.NET一起使用, 同時適合ASP.NET Web窗體和ASP.NET Web 服務方式.Borland 的Web數據控件通過給EcoSapce綁定到一個新的EcoDataSource組件來導出對象, 這是用OCL的表達方式來輸出一個數據源, 並且還能產生一個數據感知的ASP.NET WEB 窗體中. 同樣的操作能適合任何常用的原生ASP.NET Web 控件. ECO 組件, 如ExpressionHandler, 能夠提供一個可以當成DataSet 的元素列表, 並且可綁定到任何ASP.NET 組件上, 如DataList 和 DataGrid. 因為對ASP.NET應用程序提出的請求都是無狀態的, 我們能夠在session 或者在應用層次上維護EcoSpace的狀態.

ECO II 使用樂觀鎖, 當發生沖突時, 會使用沖突決議來決定執行正確的動作.特別在當一個Eco Sapce檢測到在后台數據庫的數據和在EcoSpace中保存的”舊值”不同時, 它將會注冊一個沖突到EcoSpace內部列表中. 開發者能調用RetrieveChanges來得到其它EcoSapces中發生的任何改變, 還可用GetChanges來收集未解決的沖突, 並決定如何處理(通常由最終用戶控制決定如何解決)

 

Delphi 2005 設計時的ECO II ASP.NET Web 窗體

 

映像到現存的數據庫

 帶有ECO II的Delphi 2005 現在有可能利用現存數據庫來實現應用程序持久性. 它是利用一個新加強的使用XML文件模型驅動的對象-關聯映像來實現. 這個強大的菜單達已存在的MS SQL server, ORACLE 或者 InterBase 數據庫, 並且如UML模型一樣建立映像模型, 並且用類將數據庫的數據封裝起來.

增強的EcoSpace設計器

EcoSapce 的功能在Delphi 2005中得到很多的增加, 包括擁有產生默認的XML模型映像文件, 將ECOI的數據庫格式轉為ECO II的格式, 拆包/包裝一個現存的數據庫. EcoSpace設計器同時增強了氣泡式提示, 顯示當前一系列需要完成任務的列表, 例如下圖的PersistenceMapperBdp.

 

Delphi 2005 ECO II 設計時氣泡式提示

   工作任務列表會自動檢查, 所以, 你永遠都會得到一個最新提示, 提示你什么是已經完成的, 那一步還需要繼續工作.

   另外一個用氣泡提示的例子, 當你打算打開一個新的ECO包時, 氣泡提示會顯示所有你選擇的ECO包中定義的類名.

 

ECO II 項目對象

       Delphi 2005 現在能產生幾個不同的ECO II項目. 對於C#類型, 我們能創建一個ECO ASP.NET Web應用程序, 或者ECO ASP.NET Web Service, 或者 DLL中的ECO Package(所以我們能在另外的項目中引用這個EcoSapce來使用對應的DLL), 還有ECO WinForms 應用程序. 對於Delphi for .NET類型, 我們能創建ECO ASP.NET Web 應用程序, ECO ASP.NET Web Service和ECO WinForms 應用程序.

 

2.7 ALM

    Delphi 2005 內嵌支持Borland 應用程序生命周期管理套件, 包括CaliberRM, StarTeam, 和 Janeva

 

整合StarTeam   

     StarTeam 提供源碼版本控制的支持, 包括需求管理, 缺陷跟蹤, 分組討論記錄, 遠程協作開發. Delphi 2005 包含一個內置的StarTeam客戶端, 可以從菜單StarTeam或者項目管理器的右鍵菜單中調用, 你可以在Delphi 2005 的IDE界面中操作StarTeam. 你能將一個項目放到StarTeam中, 可以檢出文件, 也可以導入文件, 或者恢復到以前舊版本的代碼. 鎖定或者解鎖StarTeam倉庫中的文件, 等等操作.

 

    此外, 歷史管理器還支持StarTeam, 所以, 可以在本地的備份中或者StarTeam的倉庫中訪問,比較和恢復備份的文件.

 

內置Janeva

    Delphi 2005 內置支持Janeva(在企業版和設計師版). Janeva能用來聯接.NET客戶端(C#或者Delphi for .NET編寫)到 J2EE的EJB 或者 CORBA 對象中. 當安裝了janeva(也就是安裝了Janeva IDE 插件), 在項目管理器的項目節點上會新增兩個菜單, Add J2EE Reference... 和 Add CORBA Reference..., 可以用來增加特定的引用.

    菜單Add J2EE Reference...在你選擇從一個.jar文件選擇一個EJB時會出現一個對話框, 而當你Add CORBA Reference...會在你選擇一個包含接口定義的CORBA對象的.idl文件時顯示一個對話框.. 在導入.jar或者.idl文件后, 你將得到一個原生對象, 它可以直接在.NET客戶端使用, 現在將不再需要額外的層(象Web Service 或其它網關類軟件), 而是利用 Janeva 裝配器直接聯接到J2EE EJB或者CORBA對象上. 以前版本的Janeva插件(C#Builder帶的)能產生C#代碼, 但Delphi 2005 產生的裝配件可以被任何.NET語言使用. 現在的Janeva 插件向導會根據janeva客戶端軟件產生相應的參數, 然后自動產生對應的app.config 文件.

   *Janeva 要求分發你的應用程序時要帶有運行時許可證, 你可在Borland 的銷售許可中找到

 

 

2.8 編繹器/語言/調試器

    Delphi 2005 編繹器, 語法, 調試器都有不少增強.

 

編繹器和語法的增強

   Delphi 2005 編繹器實現了幾個性能有關的增強, 使編輯速度加快了. 編繹器現在已經支持Unicode和UTF8格式的源代碼文件, 可以使用Unicode來定義標識符和符號.

 

For ... in ... do

   Delphi 語言增加了一個新的 for-loop 語法. 和 foreach 結構類似. 這個強大的特性可用來迭代訪問一個集合的值.

 

內聯函數

 

   Win32和.NET的Delphi語言都增加了內聯函數, 使用它能提升程序的性能. 它取代了直接呼叫例程, 而是直接將被呼叫的例程的代碼放到呼叫代碼的位置(節省了呼叫和返回的時間, 還有參數管理的時間). 這個對小的例程, 不在同一單元范圍的例程, 或者帶有多參數的例程非常有用. 而對大的例程, 在應用內聯之前要仔細考慮效率和生成代碼大少之間的利弊.

 

   我們能直接用inline來標識一個內聯例程, 還可以使用{$INLINE AUTO}這個編繹指示. 后一個操作, 會讓編繹器自己選擇那些看起來會提升系統性能的例程進行內聯. 使用{$INLINE ON}編繹指示是你指定了從這個編繹指示開始的例程都將用內聯方式.

 

   有很多反對者認為在編繹器中並沒有實現內聯, 例如, 即使你能內聯包(裝配件)中的不內單元的例程,你不能跨包進行內聯. 同樣, 不可能內聯虛方法, 動態方法或者消息方法, 同樣不能內聯接口和dispinterfaces.

 

多單元命名空間

 

   上一個版本的Delphi for .NET 編繹器采用了將一個單元映像到一個命名空間的方法(這樣單元的名字將就是命名空間的名字). Delphi 2005 中擴展了這種方法, 現在一個命名空間可以由幾個單元組成. 例如帶一個單元名為Comp.Group.MyUnit.pas, 左手邊的Comp.Group是命名空間的名字, 而MyUnit.pas就是在命句空間里的一個局部單元范圍. 這個可以讓我們使用多個單元而設置他們同屬於一個命名空間(處理ASP.NET 的自定義控件是, 現在能用一個單一的控件前綴).

 

    Delphi2005新的命名空間功能帶來的另一個效果是, 現在有可能使用Delphi2005來給現存的命句空間擴展功能. 例如, 可以新增一個MyUnit.pas單元給System Web 命名空間擴展新的類和類型 護展了的命名空間將成為所有包含System.Web.MyUnit.pas的應用程序和裝配器的一部分.

 

增強的調試器

    Delphi 2005 Win32的調試器現在增強了對沒有帶調節試信息的Win32堆結構的支持. 當在IDE中調試時, 還帶有一個專門處理異常的對話框. 當一個異常被引發時, 將會有一個對話框彈出來讓你有機會選擇忽略這個異常類型 還是檢查這個異常對象, 包括一個選項來決定是真正引發還是繼續執行.

 

斷點列表

   內置編輯器也加強了斷點列表, 現在很適合用在條件句中或者群組中, 啟用和停用斷點可以簡單的在一個CheckBox 列表選擇就可. 這樣就不用彈出一個對話框選擇, 可以加速設置斷點.

 

 Delphi 2005 帶有可編輯字段的斷點列表

   在斷點窗口還有新的工具條.通過它你能直接刪除一個斷點, 或者刪除全部, 或者使全部立即都啟用, 或者編輯某個斷點的屬性.

 

新的調試視圖

     Delphi 2005 包含4個新的Delphi 窗口. Borland Delphi8 for .NET提供了斷點的調試窗口, 調棧窗口, 監視窗口,線程和事件日志. Delphi 2005 增加了FPU, 本地變量, CPU和模塊窗口.

     Delphi 2005 現在還提供了一個模塊窗口, 可以顯示應用域, 並且允許你操作應用域中的命名空間和配件的細節. 你能夠按名字或者基地址來排序顯示模塊.

     CUP窗口是顯示當前源碼, 它能顯示IL(中間語言)和本地機器匯編語言,還有偽代碼

 

Delphi 2005 混合Pascal, ILASM和機器碼的CPU 窗口

 

並行調試

    使用Delphi 2005 IDE不僅可以用項目管理器同時裝載多個項目, 你還能同時運行Win32和.NET調試器。 你可以在同一個開發環境中調試Win32和.NET應用程序. 你甚至可以同時運行兩個調試器, 在項目管理器中切換到不同的項目(從一個語言切換到另外一種)

 

總結

   這個白皮書介紹了Delphi 2005 的關鍵新功能, 也介紹了一些已存在的技術的增強部分.

   就如你所看到的, IDE擁有一個增強的歡迎頁, 支持多語言, 備份歷史文件支持(可選擇內嵌的StarTeam), 浮動的VCL設計器, 同步編輯器, 實時錯誤提示, 實時幫助提示, 結構視圖, 幫助查找, 更好的檢索查找結果的功能, 工具面板向導幫助你更快的開始一個新項目.

   重構也是Delphi 2005 中的一個重要的新特性, 提供了重命名符號, 聲明變量, 聲明字段, 抽出方法, 抽出資源字符串,到導入命名空間.

   另外一個額外重大的支持是DUnit和NUnit單元測試, 內置於IDE的測試項目和測試例程向導.

   在數據庫方面, BDP組件更新了新的驅動, 增加了BdpCopyTable 組件, DataSync t DataHub組件來支持異構的數據庫. 而RemoteServer新增了RemoteConnection組件來編寫三層的.NET數據庫應用(DataSync 和 DataHub, 如果你需要, 可以甚至是異構的數據庫或者三層).

   對於Web開發, ASP.NET的調試器得到增強, 新增了dbWeb控件來處理計算的數據, 聲音, 視頻和導向條事件, 支持DataGrid和DataList的模板編繹器, 最后, intraWeb同時支持Win32和.NET WEB應用開發.

   企業核心對象(現在是ECO II)也加強了支持可伸縮性, 分布式開發, 支持ASP.NET(普通的和dbWeb控件), 並且具有在ECO模式中映像到已存在數據庫的能力.

   Delphi 2005 提供內嵌的Borland ALM工具, 包括StarTeam,和Janeva(可以聯接J2EE和CORBA服務器).

   最后, 但不是最不重要的, 在編繹器和Delphi語言的許多方面都得到增強,如新的 for…in 循環, 內聯函數, 跨單元命名空間. 調試器得到增強, 使用了更好的斷點列表新的.NET調試窗口, 和並發的Win32和.NET項目調試.

有史以來最好的Delphi

   無論你的目的是在Microsoft Windows操作系統還是在Microsoft .NET1.1框架版本下開發組件或者應用程序,, Delphi 2005 對現代Windows開發提供了廣泛的, 高生產力的, 高質量的支持。

https://www.cnblogs.com/dreamszx/p/3602589.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM