增强的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开发提供了广泛的, 高生产力的, 高质量的支持.