2008年(12)
分类:
2008-12-15 18:26:20
背景:
假设我们使用Delphi6开发了一个投资系统,在开发过程中我们使用了indy控件。到目前为止投资系统已经发了若干个版本,如投资系统1.0、投资系统1.2、投资系统1.5、投资系统2.0、投资系统2.3。其中投资系统2.3是最新版。这五个版本目前都有客户使用,因此我们需要分别维护各个版本。某一天1.2版本发现一个新的Bug,我们需要尽快修复该bug。现在的问题是,当前我们使用的是Indy10,而投资系统1.2使用的却是Indy8。为了解决该问题,我们不得不卸载Indy10,然后安装Indy8。在解决了该bug之后,我们又不得不将Indy10更换回来以进行最新系统的开发。当投资系统以前的版本经常出现Bug时,我们就不得不频繁的更换控件。事情还不止于此,也许2.0版本我们使用的控件是Indy9,那么我们对2.0的修改又要使用Indy9控件。这是多么郁闷一件事,有时候更换控件所花费的时间比修复bug的时间还长。怎么办呢?如果我们能够维护多套开发环境就好了。沿着这种思路,出现了如下的解决办法:
(假设安装Indy控件时使用的目录为:D:\Borland\Control\Indy)
方法一:
当需要使用Indy8时,就把Indy8对应的bpl拷贝到该目录;当需要使用Indy10时就把Indy10对应的bpl拷贝到该目录。
这种方法的缺点是:控件的安装目录是固定的,且拷贝操作比较繁琐。
在许多公司里,为了便于管理,目录的位置都是严格限制的。如
-投资系统1.0
Bin
Documents
Source
-投资系统2.0
Bin
Documents
Source
-投资系统2.3
Bin
Documents
Source
我们的大部分情况下是在新系统的基础上进行开发,因此Indy控件的安装目录一般情况下是“投资系统2.3/Control”。当要修改2.0版本时,我们不得不将2.0的控件移动到“投资系统2.3/Control”这个目录下,而源码却不得不放在“投资系统2.0/Source”目录下。这样显得很混乱
方法二:
建立多个用户,为不同用户安装不同版本的控件。如建立用户user2_0,并为他的Delphi配置投资系统2.0版本的开发环境。当需要修改投资系统2.0版本时,就只需要以user2_0运行Delphi即可。方法为:
右击开始菜单中Delphi快捷方式|“运行方式”,选择user2_0。
这种方式的使用切换起来很方便,但是有如下缺点:
1.当版本很多时,需要建立许多个用户,极度浪费资源。且用户过多不易于管理。
2.在使用中发现,Delphi以非当前用户运行时,容易发生崩溃。
方法三:直接修改注册表
步骤如下:
一 备份注册表
可以使用优化大师之类的辅助工具进行备份
二 建立一套开发环境
三 导出配置
1. 打开注册表HKEY_CURRENT_USER\Software\Borland\Delphi
2. 右击Delphi注册表项,选择“导出”将Delphi注册表项导出
四 卸载控件
五 重复执行步骤二至步骤四,以建立多套配置
六 当工作中需要某套开发环境时,只需要运行对应的导入文件(*.reg)即可
说明:
1. Delphi的配置都保存在HKEY_CURRENT_USER\Software\Borland\Delphi注册表项下
2. 其实只需要更改[HKEY_CURRENT_USER\Software\Borland\Delphi\6.0\Known Packages]注册表项下的值即可,但是为了方便和安全,所以将整个Delphi项导出
3. 在导入前最好先删除Delphi注册表项,因为导入操作不会删除现有的注册表项。这就可能会出现这种情况:从B环境切换到A环境时,由于B环境比A环境多几个控件,那么切换时这几个控件仍然存在。
4. 如果Delphi2007或更高版本,则可以在启动时使用rregkey 选项来建立多套环境。而无须这么麻烦