聲明:本文是對borland公司delphi7在線幫助的翻譯。原文版權(quán)歸borland公司所有,中文翻譯版權(quán)歸作者所有。本文可以在不經(jīng)作者授權(quán)的情況下進行轉(zhuǎn)載,但必須注明作者,且不得用于商業(yè)用途;用于商業(yè)用途需經(jīng)作者授權(quán),聯(lián)系方式:fengzhengren@eyou.com。如果您認為作者的翻譯有錯誤或不妥之處,或文字校對有錯誤之處,請向作者發(fā)電子郵件聯(lián)系,作者將不勝感激。 作者:fengzhengren(風(fēng)箏) 時間:2005年5月16日 Delphi7的新特性 1、概述 Delphi7在以下方面增加了新特性或有所增強: IDE(集成開發(fā)環(huán)境) Web COM Database(數(shù)據(jù)庫) Component library(控件庫) Runtime library(運行時庫) Compiler(編譯器) Rave Reports(Rava報表) ModelMaker Documentation(文檔) 注意:一些特性未提供給Delphi的某些版本。 2、 IDE變化 IDE在以下方面增加了新特性: 2.1 編譯器信息 新的View|Additional Message Info菜單項可以顯示提示信息窗口,通過窗口你可以從Borland公司的網(wǎng)站上下載和查看關(guān)于編譯器的信息。 新的Project|Options|Compiler Messages頁面使你對在哪種情況下產(chǎn)生編譯警告有更強的控制能力。 2.2 控件面板變化 增加了打開CLX應(yīng)用程序時才顯示的system頁面。 新的Indy Intercepts和Indy I/O Handlers頁面提供開放源碼的網(wǎng)絡(luò)協(xié)議控件(專業(yè)版和企業(yè)版)。 新的IW Standard、IW Data、IW Client Side和IW Control頁提供IntraWeb控件開發(fā)基于Web的應(yīng)用程序。 新的Rave頁面提供控件以在你開發(fā)的程序中增加報表生成功能。 如果控件頁面通過水平滾動才能顯示其余的控件圖標的話,會出現(xiàn)下拉菜單按鈕列出其余的控件圖標。 2.3 代碼提示變化 代碼提示的速度變快并允許你通過在代碼提示列表中使用CTRL+單擊該標識符瀏覽其聲明。 新的HTML代碼提示在代碼編輯窗口自動顯示有效的HTML元素和屬性(專業(yè)版和企業(yè)版)。 通過使用OpenTools API,可以建立定制的代碼提示管理器。細節(jié)參考“Extending the IDE”一節(jié)。 菜單項Tools|Editor Options|Code Insight page允許你對代碼提示工具的符號顯示設(shè)置顏色。 2.4調(diào)試器變化 查看列表做了如下變動: 為簡化調(diào)試,多表格允許你將查看對象放入查看組。增加查看組,右鍵單擊查看列表選擇Add Group選項。 增加查看對象名稱和數(shù)值列,是否顯示表頭可以通過右鍵單擊查看列表選擇Show Column Headers實現(xiàn)。 增加復(fù)選框控制查看對象的是否顯示。 菜單項Tools|Debugger Options|Event Log page增加了下列新選項: 通過設(shè)置事件日志的顏色可以使不同的事件消息顯示不同的顏色。 模塊(exe、dll、ocx等)在被編譯的進程裝載或卸載時自動在事件日志中寫入消息記錄。以前,是否將這些事件記入日志可以通過該選項控制。 Run Parameters對話框增加了工作目錄選項,允許你為編譯進程指定文件夾名稱。 2.5其他改進 在工程管理器中,你可以通過右鍵單擊工程組中的工程選擇“Make All from Here”或“Build All from Here”編譯工程組中的部分工程。 3、WEB技術(shù)變化 Delphi已經(jīng)包括進了AtoZed 軟件公司的IntraWeb控件,你可以使用IntraWeb的標準窗口工具開發(fā)Web服務(wù)器應(yīng)用程序,你也可以使用IntraWeb開發(fā)Web Broker和WebSnap網(wǎng)頁應(yīng)用程序,更多內(nèi)容,請參考“用IntraWeb創(chuàng)建web服務(wù)器應(yīng)用程序”一節(jié)。Delphi企業(yè)版包括完整的IntraWeb產(chǎn)品,專業(yè)版包括IntraWeb產(chǎn)品的一部分。 Delphi已經(jīng)支持作為Web Broker、WebSnap和SOAP對象類型的Apache2。 Borland公司不提倡使用Win-CGI作為web服務(wù)器應(yīng)用程序和web服務(wù)的的對象類型,而推薦使用規(guī)則的CGI、ISAPI/NSAPI或Apache對象類型代替。 Web服務(wù)得到以下加強: 3.1 新的UDDI瀏覽器 新的UDDI瀏覽器可以定位和導(dǎo)入基于整個UDDI注冊的WSDL文檔。 3.2 SOAP頭 新類和接口使你可以向在服務(wù)器和客戶端傳輸信息的SOAP信封讀取或插入頭信息。更多內(nèi)容請參考“定義和使用SOAP頭”和“在客戶端應(yīng)用程序處理SOAP頭”。 3.3 附件 Web服務(wù)應(yīng)用程序(包括客戶端和服務(wù)器應(yīng)用程序)已經(jīng)能操縱附件。附件(TSOAPAttachment的子類)作為多種形式的一部分以SOAP編碼傳送信息,當應(yīng)用程序收到附件后,將其保存在臨時文件中,供應(yīng)用程序使用。 3.4類型支持 你可以通過重載Tremotable類新增加的兩個虛方法ObjectToSOAP和SOAPToObject定制遠程類和和它們的SOAP請求之間的交換。 處理響應(yīng)web服務(wù)請求時發(fā)生異常的異常對象(EremotableException實例)包含了更多SOAP錯誤包的信息。 當注冊調(diào)用接口時,類型定義以遠程類別注冊的方式自動注冊。 TXSDecimal增加了AsBcd屬性可以在XML和本地類型之間輕松轉(zhuǎn)換,同樣地,TXSHexBinary增加了AsByteArray屬性。描述時間值的遠程類現(xiàn)在改為以秒為單位而不是毫秒。 3.5其他加強 THTTPReqResp增加的新事件允許你在發(fā)送HTTP信息之前截取信息,并且允許你在發(fā)送或接收長信息時監(jiān)控進度。 THTTPSoapPascalInvoker類發(fā)布事件允許你編寫代碼在調(diào)用者執(zhí)行請求之前或之后執(zhí)行。 增加了對調(diào)用接口和WSDL文檔之間映射的控制。TWSDLHTMLPublish類增加了幾個事件以控制產(chǎn)生的WSDL文檔。你可以識別函數(shù)返回值和參數(shù)名、命名空間的使用、默認的SOAP之間的映射。在客戶端,文字編碼增加了對RPC-style編碼方式的支持。 新增接口IRIOAccess使你可以訪問實現(xiàn)了調(diào)用接口的遠程接口對象。 IOPConvert接口增加了Encoding屬性,使你可以在客戶端和Web服務(wù)提供者之間傳輸編碼信息時指定字符集。 某些WEB服務(wù)的改變對DataSnap應(yīng)用程序有一定影響,細節(jié)請參考“數(shù)據(jù)庫技術(shù)的改變”一節(jié)。 TLinkedRIO類的構(gòu)造函數(shù)對你調(diào)用的每個方法自動產(chǎn)生單獨的文件名使調(diào)試更加方便。 TOPToSoapDomConvert類增加了兩個事件用于調(diào)試SOAP包。 自定義的調(diào)用接口可以使用重載方法。 4、COM技術(shù)的變化(僅delphi專業(yè)版和企業(yè)版) 使用導(dǎo)入類型庫對話框(工程à導(dǎo)入類型庫)可以為.NET編譯建立聯(lián)合類包裝。使用微軟的.NET框架你可以使用普通COM服務(wù)器的結(jié)果包裝。 5、數(shù)據(jù)庫技術(shù)的變化(僅delphi專業(yè)版和企業(yè)版) 更新了Informix SE、Oracle9i、DB2 7.2、InterBase 6.5和MySQL 3.23.49的dbExpress驅(qū)動,并增加了MSSQL 2000的驅(qū)動。 增加了新的數(shù)據(jù)庫控件,同時改變了一些原有的控件,細節(jié)參見“控件庫改變”一節(jié)。 Borland公司不提倡使用SQL Links,后續(xù)版本對SQL Links的支持不再加強,并且在2002年后的版本中將放棄對SQL Links的支持。Borland公司推薦使用dbExpress訪問SQL Server數(shù)據(jù)庫。 DataSnap(僅delphi企業(yè)版) 在DataSnap應(yīng)用中,IAppServer已經(jīng)變?yōu)镮AppServerSOAP,以使IAppServer接口更加明確。TSoapConnection類的UseSOAPAdapter屬性可以用于為使用早期Delphi版本開發(fā)的服務(wù)器應(yīng)用程序編寫客戶端。TSoapConnection類也發(fā)布了幾個新事件使你在處理WEB服務(wù)請求時可以在幾個方面定制你的客戶端應(yīng)用程序。 你可以使用SOAPServerIID屬性或向URL的終端增加數(shù)據(jù)模塊接口,明確鑒別有多個數(shù)據(jù)模塊的應(yīng)用服務(wù)器的SOAP數(shù)據(jù)模塊。 你可以使用SOAP連接控件的SOAPServerIID屬性和GetSOAPServer方法擴展應(yīng)用服務(wù)器接口。 DataSnap不再支持CORBA連接。 6、控件庫變化 6.1WindowsXP主題支持(Delphi專業(yè)版和企業(yè)版) VCL應(yīng)用程序支持Wiondows第6版通用控件,你的應(yīng)用程序查找到合適的裝載文件后會在WindowsXP系統(tǒng)上自動使用新的Windows控件。 6.2新增單元 新的DBClientActns單元包括3個新的動作控件TClientDataSetApply、TClientDataSetUndo和TClientDataSetRevert,用于和client datasets一起工作。 6.3新增控件 控件面板的dbExpress頁新增TSimpleDataSet控件供簡單的兩層數(shù)據(jù)庫應(yīng)用程序使用(TSimpleDataSet代替了TSQLClientDataSet)。 控件面板的Dialogs頁新增TPageSetupDialog控件提供Wiondow標準頁面設(shè)置對話框。 控件面板的Additional頁新增TXPColorMap、TStandardColorMap和TTwilightColorMap以建立彩色菜單和工具條。 新CLX版本控件面板的System頁增加了新的路徑和文件控件。 控件面板的Indy Intercepts和Indy I/O Handlers頁提供了網(wǎng)絡(luò)協(xié)議(專業(yè)版和企業(yè)版)。 6.4改動的控件 CLX版本的TOpenDialog和TSaveDialog控件增加了額外的特性如支持文件預(yù)覽。 VCL版本的TCustomForm控件增加了ScreenSnap和SnapBuffer兩個屬性,以控制當窗口移動時是否吸附于屏幕邊緣。 TCustomComboBoxEx控件增加了AutoCompleteOptions屬性使下拉框可以響應(yīng)用戶按鍵。 從TOpenDialog和TQtDialog繼承下來的CLX對話框?qū)ο笸ㄟ^設(shè)置UseNativeDialog屬性為true,可以使用Windows通用對話框代替Qt對話框。 6.5不提倡使用的控件 請參考Delphi7文件夾下的readme.txt文檔。 7、運行時庫的改變 7.1 Classes單元 增加了新異常類EfileStreamError,EfileStreamError和EFOpenError繼承自此類。此類有一個文件名參數(shù),因此,現(xiàn)在的異常信息包含了發(fā)生異常的文件的文件名。 TStrings類增加了ValueFromIndex和NameValueSeparator兩個新屬性。 TThread類的CheckThreadError方法已經(jīng)由private變?yōu)閜ublic。 7.2 Math單元 該單元的ClearExceptions過程增加了RaisePending這一默認參數(shù)。 7.3 StdConvs單元 StdConvs單元增加了重量單位stones(英石,合14磅)。 7.4 StrUtils單元 StrUtils單元有如下變化以支持多字節(jié)字符集(MBCS)。 以前的LeftStr、RightStr和MidStr 函數(shù)以AnsiString 作為參數(shù)和返回值,不支持MBCS字符串?,F(xiàn)在每個函數(shù)都已經(jīng)被一對重載函數(shù)代替,一個以AnsiString 作為參數(shù)和返回值,另一個以WideString作為參數(shù)和返回值。這些新函數(shù)可以正確地操作MBCS字符串。這個變化打破了用這些函數(shù)存儲和得到單字節(jié)水平字符串的編碼規(guī)則,這些代碼必須更新為使用新的下面描述的單字節(jié)函數(shù)。 新函數(shù)LeftBStr、RightBStr和MidBStr提供單字節(jié)水平字符串操作代替以前的LeftStr、RightStr和MidStr。 新函數(shù)AnsiLeftStr、AnsiRightStr和AnsiMidStr和新的AnsiStr操作函數(shù)LeftStr、RightStr和MidStr是一樣的,除了它們沒有被相同的WideString函數(shù)重載。 StrUtils單元新增字符串查找函數(shù)PosEx。 7.5 SysUtils單元 SysUtils單元新增線程安全的重載函數(shù)用于格式化和解析數(shù)字、日期時間值和貨幣類型值。它們之所以是線程安全的是因為從TformatSettings類的數(shù)據(jù)結(jié)構(gòu)中獲取局部信息而不是全局變量。數(shù)據(jù)結(jié)構(gòu)在使用前必須移植,新函數(shù)GetLocaleFormatSettings用于從指定位置移植數(shù)據(jù)結(jié)構(gòu)。 7.6 VarCmplx單元 VarCmplx單元新增函數(shù)VarComplexLog2、VarComplexLog10、VarComplexLogN、 VarComplexTimesImaginary和 VarComplexTimesReal。 7.7 Variants單元 新增VarIsError和VarAsError函數(shù)。 異常EvariantError現(xiàn)在是由變量類型代碼拋出的異常類的基礎(chǔ)。 新增幾個不同的全局控制變量NullEqualityRule、 NullMagnitudeRule、NullStrictConvert、NullAsStringValue和 PackVarCreation。 8、編譯器的變化 Delphi的dcc32編譯器新增三個編譯警告:Unsafe_Type、Unsafe_Code和Unsafe_Cast。這些警告在默認情況下是關(guān)閉的,通過編譯器指示{$WARN UNSAFE_CODE ON}、編譯器命令行開關(guān)(dcc32 -W+UNSAFE_CODE)或通過Project|Options|Compiler Messages page可以使其打開。 9、Rave報表支持 Delphi現(xiàn)在包括進了來自Nevrona公司的Rave報表,在你開發(fā)的應(yīng)用程序中加入報表控件,可以使使用者生成報表。更多信息請參考“創(chuàng)建Rave報表”一節(jié)。 10、ModelMaker支持(專業(yè)版和企業(yè)版) ModelMaker工具可以簡化類和接口的設(shè)計、構(gòu)造和維護,ModelMaker包含的工具,可以創(chuàng)建UML樣式圖,用于創(chuàng)建和修改工程源代碼。 Delphi企業(yè)版包括ModelMaker軟件公司的ModelMaker,專業(yè)版包括試用期為30天的ModelMaker,但它們的功能是一樣的。 11、文檔變化 所有的PDF、HTML和INT文檔由delphi伴隨工具盤發(fā)布,而不再是安裝盤。你可以直接從光盤查看文檔或復(fù)制到你的文件夾,伴隨工具盤包括以下文檔:
由于《開發(fā)人員指南》大小的限制,第五部分“創(chuàng)建定制控件”不再包括在該書內(nèi),而單獨編為《創(chuàng)建新控件作者指南》,這本新書可以從在線幫助中獲得也可以從伴隨工具光盤獲得PDF文檔。 Object Pascal語言現(xiàn)在稱為delphi語言,在線幫助和文檔也做了相應(yīng)的更該。 為確保delphi指南繼續(xù)有效,它們已經(jīng)從《快速開始》和《開發(fā)人員指南》中移出,你可以從伴隨工具光盤獲得PDF文檔。 一些delphi在線幫助主題包含為Kylix和C++Builder用戶提供的c++語法和代碼示例,作為delphi開發(fā)人員,可以不用理會。 |