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