Chinaunix首页 | 论坛 | 博客
  • 博客访问: 60912
  • 博文数量: 12
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 125
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-06 19:21
文章分类

全部博文(12)

文章存档

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 选项来建立多套环境。而无须这么麻烦

 

 

 

 

 

 

阅读(1683) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~