聲明:本文是對borland公司delphi7在線幫助的翻譯,。原文版權(quán)歸borland公司所有,,中文翻譯版權(quán)歸作者所有。本文可以在不經(jīng)作者授權(quán)的情況下進(jìn)行轉(zhuǎn)載,,但必須注明作者,,且不得用于商業(yè)用途;用于商業(yè)用途需經(jīng)作者授權(quán),,聯(lián)系方式:fengzhengren@,。如果您認(rèn)為作者的翻譯有錯誤或不妥之處,或文字校對有錯誤之處,,請向作者發(fā)電子郵件聯(lián)系,,作者將不勝感激。
作者:fengzhengren(風(fēng)箏)
時間:2005年5月16日
Delphi7的新特性
1,、概述
Delphi7在以下方面增加了新特性或有所增強(qiáng):
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)生編譯警告有更強(qiáng)的控制能力。
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ā)的程序中增加報表生成功能。
如果控件頁面通過水平滾動才能顯示其余的控件圖標(biāo)的話,,會出現(xiàn)下拉菜單按鈕列出其余的控件圖標(biāo),。
2.3 代碼提示變化
代碼提示的速度變快并允許你通過在代碼提示列表中使用CTRL+單擊該標(biāo)識符瀏覽其聲明。
新的HTML代碼提示在代碼編輯窗口自動顯示有效的HTML元素和屬性(專業(yè)版和企業(yè)版),。
通過使用OpenTools API,,可以建立定制的代碼提示管理器,。細(xì)節(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等)在被編譯的進(jìn)程裝載或卸載時自動在事件日志中寫入消息記錄。以前,,是否將這些事件記入日志可以通過該選項控制,。
Run Parameters對話框增加了工作目錄選項,允許你為編譯進(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)入基于整個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)用程序收到附件后,,將其保存在臨時文件中,,供應(yīng)用程序使用。
3.4類型支持
你可以通過重載Tremotable類新增加的兩個虛方法ObjectToSOAP和SOAPToObject定制遠(yuǎn)程類和和它們的SOAP請求之間的交換,。
處理響應(yīng)web服務(wù)請求時發(fā)生異常的異常對象(EremotableException實例)包含了更多SOAP錯誤包的信息,。
當(dāng)注冊調(diào)用接口時,類型定義以遠(yuǎn)程類別注冊的方式自動注冊,。
TXSDecimal增加了AsBcd屬性可以在XML和本地類型之間輕松轉(zhuǎn)換,,同樣地,TXSHexBinary增加了AsByteArray屬性,。描述時間值的遠(yuǎn)程類現(xiàn)在改為以秒為單位而不是毫秒,。
3.5其他加強(qiáng)
THTTPReqResp增加的新事件允許你在發(fā)送HTTP信息之前截取信息,并且允許你在發(fā)送或接收長信息時監(jiān)控進(jìn)度,。
THTTPSoapPascalInvoker類發(fā)布事件允許你編寫代碼在調(diào)用者執(zhí)行請求之前或之后執(zhí)行,。
增加了對調(diào)用接口和WSDL文檔之間映射的控制。TWSDLHTMLPublish類增加了幾個事件以控制產(chǎn)生的WSDL文檔,。你可以識別函數(shù)返回值和參數(shù)名,、命名空間的使用、默認(rèn)的SOAP之間的映射,。在客戶端,,文字編碼增加了對RPC-style編碼方式的支持。
新增接口IRIOAccess使你可以訪問實現(xiàn)了調(diào)用接口的遠(yuǎn)程接口對象,。
IOPConvert接口增加了Encoding屬性,,使你可以在客戶端和Web服務(wù)提供者之間傳輸編碼信息時指定字符集。
某些WEB服務(wù)的改變對DataSnap應(yīng)用程序有一定影響,,細(xì)節(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ù)庫控件,同時改變了一些原有的控件,,細(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ā)布了幾個新事件使你在處理WEB服務(wù)請求時可以在幾個方面定制你的客戶端應(yīng)用程序,。
你可以使用SOAPServerIID屬性或向URL的終端增加數(shù)據(jù)模塊接口,,明確鑒別有多個數(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)用程序查找到合適的裝載文件后會在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標(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改動的控件
CLX版本的TOpenDialog和TSaveDialog控件增加了額外的特性如支持文件預(yù)覽。
VCL版本的TCustomForm控件增加了ScreenSnap和SnapBuffer兩個屬性,,以控制當(dāng)窗口移動時是否吸附于屏幕邊緣,。
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這一默認(rèn)參數(shù)。
7.3 StdConvs單元
StdConvs單元增加了重量單位stones(英石,,合14磅),。
7.4 StrUtils單元
StrUtils單元有如下變化以支持多字節(jié)字符集(MBCS)。
以前的LeftStr,、RightStr和MidStr 函數(shù)以AnsiString 作為參數(shù)和返回值,,不支持MBCS字符串。現(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,。這些警告在默認(rèn)情況下是關(guān)閉的,,通過編譯器指示{$WARN UNSAFE_CODE ON}、編譯器命令行開關(guān)(dcc32 -W+UNSAFE_CODE)或通過Project|Options|Compiler Messages page可以使其打開,。
9,、Rave報表支持
Delphi現(xiàn)在包括進(jìn)了來自Nevrona公司的Rave報表,在你開發(fā)的應(yīng)用程序中加入報表控件,,可以使使用者生成報表,。更多信息請參考“創(chuàng)建Rave報表”一節(jié)。
10,、ModelMaker支持(專業(yè)版和企業(yè)版)
ModelMaker工具可以簡化類和接口的設(shè)計,、構(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),,而單獨編為《創(chuàng)建新控件作者指南》,,這本新書可以從在線幫助中獲得也可以從伴隨工具光盤獲得PDF文檔。
Object Pascal語言現(xiàn)在稱為delphi語言,,在線幫助和文檔也做了相應(yīng)的更該,。
為確保delphi指南繼續(xù)有效,它們已經(jīng)從《快速開始》和《開發(fā)人員指南》中移出,,你可以從伴隨工具光盤獲得PDF文檔,。
一些delphi在線幫助主題包含為Kylix和C++Builder用戶提供的c++語法和代碼示例,作為delphi開發(fā)人員,,可以不用理會,。