• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi Project 之工程管理器(Project Manager)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

工程(Project)可以说是Delphi的生命。不可能创建一个没有工程的程序。利用工程可以把全部工作组合到一起,从而创建出可以执行的应用程序。

一般来说,每个工程都需要管理。也许要增加一个新的单元到工程中,或是从工程中删除一个单元;也许需要增加另一种类型的文件(比如二进制资源文件)到工程中。增加和删除单元及其他的工程文件,都需要通过Project Manager来进行的。

工程是一个文件集合,这些文件一起起作用即可创建独立的可执行文件或DLL。这就是Delphi IDE涉及到的工程的定义。在现实中,有各种类型的工程,比如一项要完成的工作也可称为工程。

大型工程可以包括一个或多个可执行文件,以及若干个动态链接库(DLLs),由于有些工程由多个(不是单个)可执行程序组成,Delphi允许将若干个工程放在一起组成一个组,从而把组中全部工程当作一个单独的整体来处理。这个整体就叫做工程组。

1、为什么要使用工程组(Why Use Project Groups?)

大家可能会问:工程组有哪些优点?工程组的优点如下:

  • 使完整的软件工程的控制更方便。
  • 修改DLL与测试DLL的EXE可同时进行。
  • 一次可编译、链接一组工程。
  • 可同时打开多个工程,并可在打开的工程间来回切换。
  • 提供了一种组织相关工程的办法。

创建单个可执行文件的工程不需要工程组。一个单个工程不能看作一个组,对么?在单个工程情况下,工程组的概念就不合适了。

但是,设想一下:一个程序包含一个EXE文件和单个DLL,DLL和EXE是联系在一起的。当修改DLL时,一般都希望EXE就在旁边,可以立即测试DLL修改的效果。在这种情况下,使用工程组就会十分有意义,因为EXE和DLL总是在一起的。

可以创建一个包含该EXE和DLL的工程组。当要修改应用程序或DLL时,可打开该工程组(而不是单个工程)。打开工程组后,EXE工程和DLL工程会同时显示出来。可用Code Editor修改DLL或EXE,并在它们之间来回切换。如下图,就是Project Manager窗口,其中打开了这样一个工程组。

使用工程组的另一个原因是:可将相关工程组织在一起。初听起来,这句话好像意义不大,下面来解释。比如一个公司开了一套串行通信组件集合,其中的组件分为三大类:基本串行通信、传真和TAPI,每一大类都包含很多样本程序。

在这种情况下,可以为传真类的程序创建一个工程组,为TAPI类中的程序创建一个工程组,为基本串行通信类中的程序创建一个工程组。这样,用户打开TAPI工程组,将全部的TAPI样本程序都置于其中。整个工程组可以同时编译、链接,因而可以节省时间并简化打开、编译链接每个工程的操作。这里,各个工程不像EXE和DLL那样一起工作,但这些工程是相关的,因而工程组的概念是有意义的。

2、活动的工程(The Active Project)

任何工程组中总有一个活动的工程,活动工程以粗体字显示在Project Manager中。如上面的图中,活动的工程为TestDLL。

当从Delphi主菜单中选取Compile或Build菜单项时,活动工程就会被编译、链接。

每当一个工程被设置成活动工程时,这两个菜单项都会发生改变。例如,如果活动工程的名为Project1,则两个菜单项的名就是【Compile Project1】和【Build Project1】;如果把一个名叫PictView的工程设置为活动工程,则这两个菜单项名就是【Compile PictView】和【Build PictView】。

通过Delphi主菜单或Delphi工具栏来增加元素,比如新增窗体或单元,都会自动添加到当前活动工程中。

把一个工程设置为活动工程的方法有多种。

  • 其中一种方法是:在要设置成活动工程的工程节点中任意选择一项,然后点击位于Project Manager窗口顶部的“Active”按钮。
  • 另一种方法是双击要设置成活动工程的工程节点。
  • 最后一种方法是从工程节点的快捷菜单中选择“Active”菜单项来激活某个工程。

工程管理窗口(The Project Manager Window)

工程管理器是所有工程和工程组的中央控制器。用工程管理器可增加文件到工程中、删除工程中的文件、查看单元或窗体、添加工程到工程组、改变工程的排列次序等等。可选择主菜单上【View | Project Manager】菜单项或按Ctrl + Alt + F11来显示工程管理器。

Project Manager窗口含有一个树形列表控件,它最多显示四层,这四层是:

  • 工程组
  • 工程组内的工程
  • 工程中的窗体和其他文件
  • 窗体节点下的单个窗体文件和单元

自然地,在任何树列表控件(tree view control)中单个节点都可以展开或收缩。Project Manager节点都带有图标来指示该节点是否包含工程、单个文件、窗体或窗体/单元。如下图:

Note

在Project Manager中查看一个单元的路径及文件名,可点击Project Manager窗口中的单元,Project Manager状态栏就会显示该单元的全部路径和文件名。如下图:

1、工程管理器快捷菜单(The Project Manager Context Menus)

工程管理器的大多数工作都是通过工程管理器快捷菜单来进行的。Project Manager有四个独立的快捷菜单,下面分别进行介绍。

(1)工程组快捷菜单(The Project Group Context Menu)

用鼠标右键点击位于Project Manager树顶点的工程组节点,会显示出工程组的快捷菜单。如下图:

  • 【Add New Project…】——打开对象库,选择一个新的应用程序、DLLs、窗体、数据模块、组件或对象库中的其他有效对象。
  • 【Add Existing Project…】——打开一个存储在磁盘上的工程文件,将它添加到工程组中。
  • 【Save Project Group】——保存工程组。工程组的扩展名为.bpg。
  • 【Save Project Group As…】——用一个新工程组名保存工程组。
  • 【View Project Group Source】——显示工程组源文件。工程组源文件是一个特殊文件(a makefile),它包含工程组内所有工程的引用。
  • 【ToolBar】——打开或关闭Project Manager的工具栏。
  • 【Status Bar】——打开或关闭Project Manager的状态栏。
  • 【Dockable】——指明Project Manager是否可泊位。

Note

Project Manager 中每个快捷菜单都含有ToolBar、Status Bar和Dockable菜单项。下面讲解其他Project Manager快捷菜单时不再重复介绍。

(2)工程快捷菜单(The Project Context Menu)

用鼠标右键点击Project Manager中的工程节点,就会显示出工程快捷菜单。如下图:

  • 【Add…】——打开Add to Project对话框,增加文件到工程中。从主菜单或Delphi工具栏选择【Project | Add to Project】,也可以打开该对话框。
  • 【Remove File…】——打开Remove From Project对话框,从工程中删除文件。从主菜单或Delphi工具栏选择【Project | Remove From Project】同样可以打开该对话框。
  • 【Save】——保存工程。也可从主菜单选择【File | Save】保存工程。
  • 【Options】——为工程显示Project Options对话框。也可从Delphi主菜单选择【Project | Options】来显示Project Options对话框。
  • 【Activate】——是工程变成活动工程。
  • 【Compile】——编译工程。
  • 【Build】——建立(编译并连接)工程。
  • 【View Source】——显示工程源文件(DPR文件)。也可从主菜单选择【Project | View Source】来显示工程源文件。
  • 【Close】——关闭工程及全部文件。如果工程时一个已保存工程组的一部分,则该工程节点图标会变灰;它仍是工程组的一部分,但在IDE中不能打开。如果工程是缺省工程组的一部分,则关闭该工程并把它从缺省工作组中移出。
  • 【Remove Project】——从工程组中删除工程。注意,不是把工程从硬盘上删除,只是将它移除工作组。也可点击Project Manager工具栏中的“Remove”按钮来将工程删除出工作组。
  • 【Build Sooner】——往工程树的上部移动工程。编译链接工程时按自上而下的顺序进行的。
  • 【Build Later】——往工程树的下部移动工程。

Note

Project Manager快捷菜单中的内容比本节中介绍的还要多。如果是批处理文件工程或者程序包工程,则工程快捷菜单包含附加菜单项。由于差别不大,就不专门介绍这些附加菜单项。

(3)单元快捷菜单(The Unit Context Menu)

用鼠标右键点击Project Manager中的单元节点时,会显出单元快捷菜单。如下图:

  • 【Open】——在Code Editor中显示单元(对于独立的单元),或在Form Designer中显示窗体(如果单元有相关联的窗体)。
  • 【Remove From Project】——把单元从工程中删除。删除时Project Manager不会给出提示,因而不能撤销删除。如果不小心错删了一个单元,再把它加到工程中就行了。
  • 【Save】——保存单元。也可从Delphi主菜单中选择【File | Save】保存。
  • 【Save As…】——打开Save As…对话框,用新单元名保存该单元,也可从Delphi主菜单中选择【File | Save As…】来完成同样的操作。

(4)文件快捷菜单(The File Context Menu)

用鼠标右键点击除工程组节点、工程节点、单元节点外的节点(通常是.pas或.dfm文件)时,会显示文件快捷菜单。如下图:

这个快捷菜单只有一个菜单项,【Open】菜单项把选择的节点显示在Code Editor或Form Designer中(由所选节点的类型决定是显示在Code Editor中还是Form Designer中)。

2、Project Manager工具栏和键盘命令(The Project Manager Toolbar and Keyboard Commands)

除了Project Manager快捷菜单外,Project Manager有一个工具栏,使用这个工具栏可方便工程管理器的操作。Project Manager工具栏包含三个按钮:

  • Add New Project按钮。该按钮显示Object Repository对象库,从而可增加新工程到工程组中。也可点击工程组快捷菜单的【Add New Project】菜单项来增加新工程到工程组中。
  • Remove按钮。该按钮把所选工程、单元、文件等从工程组中删除。
  • Active按钮。该按钮把所选目标激活成活动工程。

键盘命令包括Delete键和Insert键。当按下Delete键,所选节点就会被删除。若选的是工程节点,则把该工程从工程组中删除;若选的是单元节点,则把单元从所属工程中删除。Insert键的功能与工程快捷菜单【Add to Project】功能一样。

Tip

Project Manager工具栏按钮有大小两种尺寸。拖动工具栏底部可改变工具栏按钮的大小,往上拖显示小按钮;往下拖显示大按钮。如图:

创建并使用工程组(Creating and Using Project Groups)

对于复杂工程,使用工程组时大有益处的,但是使用工程组不是强制的,没有必要每个工程都使用工程组。Project Manager有一个名为ProjectGroup1的缺省工程组,当不专门打开或创建工程组时,可使用这个工程组。不妨按以下步骤试试:

(1)选择【File | Close All】菜单项关闭所有打开的工程或工程组。

(2)选择【File | New Application】创建一个新应用程序。

(3)选择【View | Project Manager】来显示Project Manager。如下图:

ProjectGroup1工程组时一个临时工程组。当从主菜单选择【File | Save All】菜单项时,系统会提示保存工程,而不是保存保存工程组。若要保存该工程组,必须在Project Manager的工程组快捷菜单中使用【Save Project Group】或【Save Project Group As…】菜单项来保存它。

1、增加单元(Adding Units)

要增加一个已存在的单元到工程中,只需要点击Project Manager工具栏上的Add按钮,或从Project Manager工程快捷菜单中选择【Add…】。

如果工程中有一个窗体的与一个单元同名,则不能把这个单元加到该工程中。

2、删除单元(Removing Units)

使用Remove From Project选项可将文件从工程中删除。另外,也可选择要删除的单元,然后按键盘上Delete键。从工程中删除掉的文件并未从硬盘上删除,而只是将它们移除工程编译/链接过程。

Note

从工程中删除单元时要多加小心,不要把工程中其他单元引用的单元删除了。如果删除了工程要用的单元,会导致编译出错。在删除一个单元之前,一定要搞清楚工程是否还要使用该单元。如果不小心删除了工程还需要的单元,可用【Add to Project】选项将它加回到工程中。

点击工程快捷菜单中的【Remove File…】,将会显示出“Remove From Project”对话框,该对话框允许选择多个单元,因此可以同时删除多个单元文件。如下图:

3、查看单元或窗体(Viewing Units or Forms)

要查看单元、窗体或其他文件,只需双击想要查看的窗体或单元节点。还可以从Project Manager快捷菜单中选择【Open】菜单项,窗体或单元就会显示在Form Designer或Code Editor中(根据所选节点的类型)。

建立工程或工程组(Building Projects or Project Groups)

要编译、链接某个工程,可按下列方法之一进行:

  • 用鼠标右键点击Project Manager中的工程机电,再从快捷菜单中选【Build】菜单项。
  • 从Delphi主菜单选择【Project | Build <工程名>】。这个菜单项的名称随着当前活动的工程的工程名自动变化。
  • 按键盘上的Ctrl + F9来编译当前活动工程。

要编译、链接整个工程组,从Delphi主菜单中选择【Project | Build All Projects】,工程组的全部工程都会被编译、链接,顺序是自上而下从工程组的第一个工程到最后一个工程。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
IconcacherebuildingwithDelphi(Delphi清除Windows图标缓存源代码)发布时间:2022-07-18
下一篇:
用Matlab进行部分分式展开发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap