3.10 使用对象仓库
对象仓库(ToolsRepository)使共享窗体、对话框、框架和数据模块变得轻易,它也提供了新工程模板和通过创建窗体和工程来指导用户的向导。对象仓库在BCB.DRO文件中维护(在缺省的BIN目录下),该文本文件中包含了显示在Repository和NewItems对话框中的对象的参考信息。
3.10.1 在工程中共享对象
可以在工程中共享对象而不用把它们加入到对象仓库,当打开NewItems对话框(FileNew),可以看到当前工程的标签页面,在这个页面上列出了工程中所有的窗体、对话框和数据模块等对象,可以从一个已有的对象中派生一个新的对象并按需要定制它。
3.10.2 在对象仓库中加入对象
可以将用户自己的工程、窗体、框架和数据模块加入到对象仓库中那些已经有效的对象中,要在对象仓库中加入一个对象,可以:
1) 假如对象是一个工程或者在一个工程中,打开该工程。
2) 对于工程,选择ProjectAddToRepository。对于窗体或数据模块,右击该对象(在弹出菜单中)选择AddToRepository。
3) 输入描述说明、标题和作者。
4) 确定该对象将在NewItems对话框的哪一个页面出现,然后输入页面名,或者从页面下拉组合框中选择它。假如输入的页面不存在,C++Builder将创建一个新的页面。
5) 选择Browse,选择一个图标来对应对象仓库中的该对象。
6) 选择OK。
3.10.3 在小组环境中共享对象
可以通过网络生成一个有效的对象仓库,从而在工作组或者开发小组中共享对象。为了使用一共享的仓库,所有的小组成员必须在EnvironmentOptions对话框中选择相同的SharedRepository目录。
1) 选择ToolsEnvironmentOptions。
2) 在Preferences页面,找到SharedRepository面板。在Directory编辑框,输入想要放置共享仓库的目录名,该目录应该是所有的小组成员都能访问的。
假如BCB.DRO文件不存在,则在仓库中第一次加入一个对象时,C++Builder在SharedRepository目录下创建该文件。
3.10.4 在工程中使用对象仓库的对象
为了使用对象仓库中的对象,选择FileNew,打开NewItems对话框,其中显示了可用的所有对象。
根据需要使用的对象的类型,可有三种方法将该对象加入到工程中。
· 复制。
· 继续。
· 使用。
1、 复制一个对象
选择Copy来复制一个所选中对象的副本,把这个副本加入到工程中。在对象仓库中对该对象所做的变化以后不会在副本中反映出来,而对该副本所做的修改也不会影响到对象仓库中的原对象。对工程模板Copy是唯一可用的选项。
2、 继续一个对象
选择Inherit可以从在对象仓库中选中的对象里派生一个新的类,并在工程中加入这个新类。当重新编译工程时,在对象仓库中对该对象所做的任何修改都将影响到这个派生类;相反,对派生类所做的修改不会影响对象仓库中的该共享对象。
继续对窗体、对话框和数据模块可用,但对工程模板无效。对于同一个工程中的重新使用的对象,这是唯一可用的选项。
3、 使用一个对象
假如要使所选中的对象本身成为工程的一部分,可以选择Use。在工程中对该对象所做的修改都将表现在使用继续或复制选项加入了该对象的其他工程中,因此选择这个选项要谨慎。Use选项对窗体、对话框、数据模块是可用选项。
3.10.5 使用工程模板
模板是预先定义好的工程,可以在开始自己的工程设计时使用模板。要从模板中创建一个新的工程,可以:
1) 选择FileNew,打开NewItems对话框。
2) 选择Projects标签页。
3) 选择想要的工程模板,然后选择OK。
4) 在SelectDirectory对话框中,指定新工程文件所在目录。
C++Builder复制模板文件到指定目录,随后可以修改它们。所做的改动不会影响到原始工程模板。
3.10.6 修改共享对象
假如在对象仓库中修改一个对象,所做的改动将影响到以后使用这些对象的工程,以及使用了Use或Inherit选项将这些对象加入到已有的工程。为了防止所做的修改蔓延到其他工程,可以选择以下几种
方法之一:
· 复制对象,然后只在当前的工程中修改它。
· 复制对象到当前工程,修改它,然后把它用另一个不同的名字加入到对象仓库中。
· 从该对象中创建一个组件、DLL、组件模板或者框架,假如创建了一个组件或DLL就可以与其他开发者一起共享它。
3.10.7 指定一个缺省工程、新窗体以及主窗体
缺省时,当你选择FileNewApplication或FileNewForm时,C++Builder显示出一个空白窗体。你可以通过重新配置对象仓库来改变这种缺省行为。
1) 选择ToolsRepository。
2) 假如想要指定一个缺省工程,选择Projects页并在Objects下选择一项。同时选择NewProject复选框。
3) 假如想要指定一个缺省窗体,选择一个Repository页(如Forms),然后在Objects下选择一个窗体。
要指定缺省的新窗体(FileNewForm),选择NewForm复选框。要指定新工程缺省的主窗体,选择Main Form复选框。
4) 点击OK。