IDE概述
当你在一种可视化开发环境工作时,你的时间花费在应用的两个不同的部分:可视化设计器和代码编辑器。 设计器让你在可视化级别上操作组件(诸如你将一个按钮放置在一个窗体上),或者在一个非可视化级别上工作(诸如当你放置一个DataSet组件在一个数据模块上时)。你能在图表1.1中的操作中中看见一个窗体和一个数据模块。在这两种情况中,设计器允许你选择你需要的组件且设置它们的属性的初始值。
图表1.1在 Delphi 7 IDE中的一个窗体和一个数据模块
代码编辑器是你写代码的地方。在可视化环境中写代码最明显的方式是包括对事件作出反应,事件由程序用户执行的操作开始,诸如单击一个按钮或者选择一个列表框的一个选项。你能使用同样的方式来处理内部事件,诸如涉及数据库变化的事件或来自操作系统的通知。
当程序员对Delphi熟知时,他们经常以主要编写事件处理(event-handling)代码为始发端,然后转移到撰写他们自己的类和组件,最后花费大部分时间在编辑器中。 因为本书涵盖的内容远远超过可视化编程,试图帮助你把握Delphi的整个力量,随着行文的深入,你将看见更多的代码,更少的窗体。
适用于两个类库的一个IDE
一种重要的变化首次在Delphi 6中出现。IDE现在允许你在两个不同的可视化类库上工作: VCL (Visual Component Library,可视化组件库)和CLX (跨平台组件库,Component Library for Cross-Platform)。 当你创建一个新项目时,你可以很简单地从两个类库中选择你想要使用的一个,这样开始:通过File ® New ® Application命令,建立一个典型的基于VCL的Windows程序;通过File ® New ® CLX Application 命令建立一个新的基于CLX的可移植(portable)应用程序。
注释
CLX是Delphi的跨平台库,它允许你用Kylix重新编译你的代码以运行在Linux下。 你可以在第5章,“可视化控件”,读到关于CLX和VCL的更多内容。在Delphi 7中使用CLX更有趣,因为Kylix的Delphi语言版与Windows产品一起发售。
当你建立一个新项目或者打开现有的一个时,组件板被安排了只显示与当前库(虽然大多数控件是共享的)有关的控件。 当时你操作一个非可视化的设计器时(诸如一个数据模块),可视化组件的组件板标签隐藏起来了,不可见。
桌面设置
程序员能够以各种方式定制IDE— 典型的,打开许多窗口的,安排它们的,相互停靠的。 然而,你经常需要在在设计时打开一套窗口的设置,而在调试时又打开另一套不同的窗口设置。 同样地,你可能在操作窗体时需要一种布局,而在仅使用编辑器编写组件或者低级代码时又需要一个完全不同的布局。 为了每个这样的需要重新整理IDE是一件非常乏味的工作。
由于这个原因,Delphi允许你以一个名称保存特定的IDE窗口(称为桌面desktop,或者Global Desktop,以区别于项目桌面Project Desktop)很并且容易恢复它。 你也可以保存你的缺省调试设置中的一个,当你开始调试程序时它将自动被恢复。 所有这些特性可从Desktops toolbar得到。 你也能使用View ® Desktops菜单操作桌面设置。
桌面设置信息被保存在DST文件中(储存在Delphi的bin目录中),它们是伪装的INI文件。 被保存的设置包括主要的窗口,Project Manager,Alignment Palette,Object Inspector (包括它的 property category settings) ,editor windows (Code Explorer 和Message View的状态),还有许多其它的位置,加上各种窗口的停靠状态。
这是从一个DST文件中摘录的一小段,它应该是很容易读的:
[Main Window]
Create=1
Visible=1
State=0
Left=0
Top=0
Width=1024
Height=105
ClientWidth=1016
ClientHeight=78
[ProjectManager]
Create=1
Visible=0
State=0
...
Dockable=1
[AlignmentPalette]
Create=1
Visible=0
...
桌面设置越过项目设置,项目设置被保存在一个类似结构的DSK文件中。 桌面设置帮助除去当你在机器(或者在开发者之间)之间移动一个项目并且不得不重新把窗口整理成为你爱好的时发生的难题。 Delphi将每一用户的全局桌面设置和每一项目的桌面设置分开,以更好地支持团队开发。
技巧
如果你打开Delphi并且不能看见窗体或者其它窗口,我建议你尝试检查(或者删除)桌面设置 (从Delphi的bin目录下)。 如果你打开被一个不同的用户接受的一个项目并且不能看见一些窗口或者不喜欢桌面布局,再次载入你的全局的桌面设置或者删除项目DSK文件。