声明:本文是对borland公司delphi7在线帮助的翻译。原文版权归borland公司所有,中文翻译版权归作者所有。本文可以在不经作者授权的情况下进行转载,但必须注明作者,且不得用于商业用途;用于商业用途需经作者授权,联系方式:fengzhengren@eyou.com。如果您认为作者的翻译有错误或不妥之处,或文字校对有错误之处,请向作者发电子邮件联系,作者将不胜感激。
作者:fengzhengren(风筝)
时间:2005年5月16日
Delphi7的新特性
1、概述
Delphi7在以下方面增加了新特性或有所增强:
IDE(集成开发环境)
Web
COM
Database(数据库)
Component library(控件库)
Runtime library(运行时库)
Compiler(编译器)
Rave Reports(Rava报表)
ModelMaker
Documentation(文档)
注意:一些特性未提供给Delphi的某些版本。
2、 IDE变化
IDE在以下方面增加了新特性:
2.1 编译器信息
新的View|Additional Message Info菜单项可以显示提示信息窗口,通过窗口你可以从Borland公司的网站上下载和查看关于编译器的信息。
新的Project|Options|Compiler Messages页面使你对在哪种情况下产生编译警告有更强的控制能力。
2.2 控件面板变化
增加了打开CLX应用程序时才显示的system页面。
新的Indy Intercepts和Indy I/O Handlers页面提供开放源码的网络协议控件(专业版和企业版)。
新的IW Standard、IW Data、IW Client Side和IW Control页提供IntraWeb控件开发基于Web的应用程序。
新的Rave页面提供控件以在你开发的程序中增加报表生成功能。
如果控件页面通过水平滚动才能显示其余的控件图标的话,会出现下拉菜单按钮列出其余的控件图标。
2.3 代码提示变化
代码提示的速度变快并允许你通过在代码提示列表中使用CTRL+单击该标识符浏览其声明。
新的HTML代码提示在代码编辑窗口自动显示有效的HTML元素和属性(专业版和企业版)。
通过使用OpenTools API,可以建立定制的代码提示管理器。细节参考“Extending the IDE”一节。
菜单项Tools|Editor Options|Code Insight page允许你对代码提示工具的符号显示设置颜色。
2.4调试器变化
查看列表做了如下变动:
为简化调试,多表格允许你将查看对象放入查看组。增加查看组,右键单击查看列表选择Add Group选项。
增加查看对象名称和数值列,是否显示表头可以通过右键单击查看列表选择Show Column Headers实现。
增加复选框控制查看对象的是否显示。
菜单项Tools|Debugger Options|Event Log page增加了下列新选项:
通过设置事件日志的颜色可以使不同的事件消息显示不同的颜色。
模块(exe、dll、ocx等)在被编译的进程装载或卸载时自动在事件日志中写入消息记录。以前,是否将这些事件记入日志可以通过该选项控制。
Run Parameters对话框增加了工作目录选项,允许你为编译进程指定文件夹名称。
2.5其他改进
在工程管理器中,你可以通过右键单击工程组中的工程选择“Make All from Here”或“Build All from Here”编译工程组中的部分工程。
3、WEB技术变化
Delphi已经包括进了AtoZed 软件公司的IntraWeb控件,你可以使用IntraWeb的标准窗口工具开发Web服务器应用程序,你也可以使用IntraWeb开发Web Broker和WebSnap网页应用程序,更多内容,请参考“用IntraWeb创建web服务器应用程序”一节。Delphi企业版包括完整的IntraWeb产品,专业版包括IntraWeb产品的一部分。
Delphi已经支持作为Web Broker、WebSnap和SOAP对象类型的Apache2。
Borland公司不提倡使用Win-CGI作为web服务器应用程序和web服务的的对象类型,而推荐使用规则的CGI、ISAPI/NSAPI或Apache对象类型代替。
Web服务得到以下加强:
3.1 新的UDDI浏览器
新的UDDI浏览器可以定位和导入基于整个UDDI注册的WSDL文档。
3.2 SOAP头
新类和接口使你可以向在服务器和客户端传输信息的SOAP信封读取或插入头信息。更多内容请参考“定义和使用SOAP头”和“在客户端应用程序处理SOAP头”。
3.3 附件
Web服务应用程序(包括客户端和服务器应用程序)已经能操纵附件。附件(TSOAPAttachment的子类)作为多种形式的一部分以SOAP编码传送信息,当应用程序收到附件后,将其保存在临时文件中,供应用程序使用。
3.4类型支持
你可以通过重载Tremotable类新增加的两个虚方法ObjectToSOAP和SOAPToObject定制远程类和和它们的SOAP请求之间的交换。
处理响应web服务请求时发生异常的异常对象(EremotableException实例)包含了更多SOAP错误包的信息。
当注册调用接口时,类型定义以远程类别注册的方式自动注册。
TXSDecimal增加了AsBcd属性可以在XML和本地类型之间轻松转换,同样地,TXSHexBinary增加了AsByteArray属性。描述时间值的远程类现在改为以秒为单位而不是毫秒。
3.5其他加强
THTTPReqResp增加的新事件允许你在发送HTTP信息之前截取信息,并且允许你在发送或接收长信息时监控进度。
THTTPSoapPascalInvoker类发布事件允许你编写代码在调用者执行请求之前或之后执行。
增加了对调用接口和WSDL文档之间映射的控制。TWSDLHTMLPublish类增加了几个事件以控制产生的WSDL文档。你可以识别函数返回值和参数名、命名空间的使用、默认的SOAP之间的映射。在客户端,文字编码增加了对RPC-style编码方式的支持。
新增接口IRIOAccess使你可以访问实现了调用接口的远程接口对象。
IOPConvert接口增加了Encoding属性,使你可以在客户端和Web服务提供者之间传输编码信息时指定字符集。
某些WEB服务的改变对DataSnap应用程序有一定影响,细节请参考“数据库技术的改变”一节。
TLinkedRIO类的构造函数对你调用的每个方法自动产生单独的文件名使调试更加方便。
TOPToSoapDomConvert类增加了两个事件用于调试SOAP包。
自定义的调用接口可以使用重载方法。
4、COM技术的变化(仅delphi专业版和企业版)
使用导入类型库对话框(工程à导入类型库)可以为.NET编译建立联合类包装。使用微软的.NET框架你可以使用普通COM服务器的结果包装。
5、数据库技术的变化(仅delphi专业版和企业版)
更新了Informix SE、Oracle9i、DB2 7.2、InterBase 6.5和MySQL 3.23.49的dbExpress驱动,并增加了MSSQL 2000的驱动。
增加了新的数据库控件,同时改变了一些原有的控件,细节参见“控件库改变”一节。
Borland公司不提倡使用SQL Links,后续版本对SQL Links的支持不再加强,并且在2002年后的版本中将放弃对SQL Links的支持。Borland公司推荐使用dbExpress访问SQL Server数据库。
DataSnap(仅delphi企业版)
在DataSnap应用中,IAppServer已经变为IAppServerSOAP,以使IAppServer接口更加明确。TSoapConnection类的UseSOAPAdapter属性可以用于为使用早期Delphi版本开发的服务器应用程序编写客户端。TSoapConnection类也发布了几个新事件使你在处理WEB服务请求时可以在几个方面定制你的客户端应用程序。
你可以使用SOAPServerIID属性或向URL的终端增加数据模块接口,明确鉴别有多个数据模块的应用服务器的SOAP数据模块。
你可以使用SOAP连接控件的SOAPServerIID属性和GetSOAPServer方法扩展应用服务器接口。
DataSnap不再支持CORBA连接。
6、控件库变化
6.1WindowsXP主题支持(Delphi专业版和企业版)
VCL应用程序支持Wiondows第6版通用控件,你的应用程序查找到合适的装载文件后会在WindowsXP系统上自动使用新的Windows控件。
6.2新增单元
新的DBClientActns单元包括3个新的动作控件TClientDataSetApply、TClientDataSetUndo和TClientDataSetRevert,用于和client datasets一起工作。
6.3新增控件
控件面板的dbExpress页新增TSimpleDataSet控件供简单的两层数据库应用程序使用(TSimpleDataSet代替了TSQLClientDataSet)。
控件面板的Dialogs页新增TPageSetupDialog控件提供Wiondow标准页面设置对话框。
控件面板的Additional页新增TXPColorMap、TStandardColorMap和TTwilightColorMap以建立彩色菜单和工具条。
新CLX版本控件面板的System页增加了新的路径和文件控件。
控件面板的Indy Intercepts和Indy I/O Handlers页提供了网络协议(专业版和企业版)。
6.4改动的控件
CLX版本的TOpenDialog和TSaveDialog控件增加了额外的特性如支持文件预览。
VCL版本的TCustomForm控件增加了ScreenSnap和SnapBuffer两个属性,以控制当窗口移动时是否吸附于屏幕边缘。
TCustomComboBoxEx控件增加了AutoCompleteOptions属性使下拉框可以响应用户按键。
从TOpenDialog和TQtDialog继承下来的CLX对话框对象通过设置UseNativeDialog属性为true,可以使用Windows通用对话框代替Qt对话框。
6.5不提倡使用的控件
请参考Delphi7文件夹下的readme.txt文档。
7、运行时库的改变
7.1 Classes单元
增加了新异常类EfileStreamError,EfileStreamError和EFOpenError继承自此类。此类有一个文件名参数,因此,现在的异常信息包含了发生异常的文件的文件名。
TStrings类增加了ValueFromIndex和NameValueSeparator两个新属性。
TThread类的CheckThreadError方法已经由private变为public。
7.2 Math单元
该单元的ClearExceptions过程增加了RaisePending这一默认参数。
7.3 StdConvs单元
StdConvs单元增加了重量单位stones(英石,合14磅)。
7.4 StrUtils单元
StrUtils单元有如下变化以支持多字节字符集(MBCS)。
以前的LeftStr、RightStr和MidStr 函数以AnsiString 作为参数和返回值,不支持MBCS字符串。现在每个函数都已经被一对重载函数代替,一个以AnsiString 作为参数和返回值,另一个以WideString作为参数和返回值。这些新函数可以正确地操作MBCS字符串。这个变化打破了用这些函数存储和得到单字节水平字符串的编码规则,这些代码必须更新为使用新的下面描述的单字节函数。
新函数LeftBStr、RightBStr和MidBStr提供单字节水平字符串操作代替以前的LeftStr、RightStr和MidStr。
新函数AnsiLeftStr、AnsiRightStr和AnsiMidStr和新的AnsiStr操作函数LeftStr、RightStr和MidStr是一样的,除了它们没有被相同的WideString函数重载。
StrUtils单元新增字符串查找函数PosEx。
7.5 SysUtils单元
SysUtils单元新增线程安全的重载函数用于格式化和解析数字、日期时间值和货币类型值。它们之所以是线程安全的是因为从TformatSettings类的数据结构中获取局部信息而不是全局变量。数据结构在使用前必须移植,新函数GetLocaleFormatSettings用于从指定位置移植数据结构。
7.6 VarCmplx单元
VarCmplx单元新增函数VarComplexLog2、VarComplexLog10、VarComplexLogN、 VarComplexTimesImaginary和 VarComplexTimesReal。
7.7 Variants单元
新增VarIsError和VarAsError函数。
异常EvariantError现在是由变量类型代码抛出的异常类的基础。
新增几个不同的全局控制变量NullEqualityRule、 NullMagnitudeRule、NullStrictConvert、NullAsStringValue和 PackVarCreation。
8、编译器的变化
Delphi的dcc32编译器新增三个编译警告:Unsafe_Type、Unsafe_Code和Unsafe_Cast。这些警告在默认情况下是关闭的,通过编译器指示{$WARN UNSAFE_CODE ON}、编译器命令行开关(dcc32 -W+UNSAFE_CODE)或通过Project|Options|Compiler Messages page可以使其打开。
9、Rave报表支持
Delphi现在包括进了来自Nevrona公司的Rave报表,在你开发的应用程序中加入报表控件,可以使使用者生成报表。更多信息请参考“创建Rave报表”一节。
10、ModelMaker支持(专业版和企业版)
ModelMaker工具可以简化类和接口的设计、构造和维护,ModelMaker包含的工具,可以创建UML样式图,用于创建和修改工程源代码。
Delphi企业版包括ModelMaker软件公司的ModelMaker,专业版包括试用期为30天的ModelMaker,但它们的功能是一样的。
11、文档变化
所有的PDF、HTML和INT文档由delphi伴随工具盘发布,而不再是安装盘。你可以直接从光盘查看文档或复制到你的文件夹,伴随工具盘包括以下文档:
文档介绍
在工具盘中的存放路径
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
由于《开发人员指南》大小的限制,第五部分“创建定制控件”不再包括在该书内,而单独编为《创建新控件作者指南》,这本新书可以从在线帮助中获得也可以从伴随工具光盘获得PDF文档。
Object Pascal语言现在称为delphi语言,在线帮助和文档也做了相应的更该。
为确保delphi指南继续有效,它们已经从《快速开始》和《开发人员指南》中移出,你可以从伴随工具光盘获得PDF文档。
一些delphi在线帮助主题包含为Kylix和C++Builder用户提供的c++语法和代码示例,作为delphi开发人员,可以不用理会。