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

------------------------------------------------------------------------------------------

delphi2007控件安装多版本可以用多用户方法来解决

xiuzhentianting 2015-09-08 13:41:50 303 收藏
展开
如果同一个控件包,有多个版本和多个引用路径,
则在同一个电脑上需要经常改动配置
解决办法是:安装delphi的时候设置安装到所有用户
建立多个用户,每个用户的控件配置在当前用户的注册表里面
但是需要改变的是:
每安装一个控件,需要把bpl的路径改动到当前用户
接改变环境变量 Tools-->Options-->Env.. Var..-->BDSCOMMONDIR Add Override
C:\Documents and Settings\All Users\Documents\RAD Studio\5.0-->改成当前用户的目录C:\Documents and Settings\xxx\Documents\RAD Studio\5.0,
并且把里面的内容复制到当前用户目录
重新启动2007,提示改变,选择Yes

特定dpk工程如果不按照bpl到默认目录,可以指定目录
在工程选项--目录设置--Output Dir 和 Dcp Outpu Dir 可以配置成相对路径,这样安装的时候bpl的位置就是设置的路径

为Delphi配置多套环境的更多相关文章

  1. 应用 EditPlus 配置 Java 编译环境

    此文全文摘抄自: http://jingyan.baidu.com/album/37bce2be3ceef61002f3a208.html?picindex=7,谢啦 应用成功: EditPlus(文 ...

  2. VS2010配置OpenGL开发环境

    OpenGL(Open Graphics Library)是一个跨编程语言.跨平台的专业图形程序接口.OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应 ...

  3. PHP+FastCGI+Nginx配置PHP运行环境方法

    PHP+FastCGI+Nginx配置PHP运行环境 Nginx不支持对外部程序的调用,所以必须通过FastCGI接口实现对外部程序的调用从而实现对客户端动态页面请求的处理. CGI的英文全称为Com ...

  4. VS2010配置OpenGL开发环境(转)

    OpenGL(Open Graphics Library)是一个跨编程语言.跨平台的专业图形程序接口.OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应 ...

  5. centos 7 配置pytorch运行环境

    华为云服务器,4核心8G内存,没有显卡,性能算凑合,赶上双11才不到1000,性价比还可以,打算配置一套训练densenet的环境. 首先自带的python版本是2.7,由于明年开始就不再维护了,所以 ...

  6. 如何在 Android 安卓手机上运行 Node.js 应用 | 如何在安卓手机配置node开发环境

    最近在学习js,由于没法随身携带笔记本电脑,在手机翻阅<JavaScript高级程序设计>时,时常想调试一下书中的代码.于是就有了,能否在手机上配置一个js开发环境.考虑到手机上的Chro ...

  7. 五、redis哨兵两套环境同一局域网容灾切换问题

    上周遇到个灵异事件,实验室有两套环境来搭建redis集群和哨兵,分别是: 第一套环境IP:67(master) 65(salve) 66(salve)第二套环境IP:115(master) 116(s ...

  8. 在Visual Studio Code中配置GO开发环境

    一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github ...

  9. 在Linux虚拟机下配置jdk的环境变量

    1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

  10. 为 Sublime Text 3059 配置 PHP 编译环境

    关于  Sublime Text 3059 的安装及汉化 请参看 http://www.xiumu.org/note/sublime-text-3.shtml 为 sublime Text 配置 PH ...

随机推荐

  1. php 异步并行后续--兼容FPM使用的组件

    上次给人推荐了这篇文章,关于PHP异步并行的文章,之后有人评论问这个组件能不能给fpm用,我测试了一下发现不行,于是又找到一个可以给fpm用的http请求组件. 安装很简单,就这样  composer ...

  2. golang之项目部署

    介绍 Go 语言可以使用内置命令行工具 go build 编译生成可执行文件.自 Go1.5 版本开始实现自举后,交叉编译也很方便,只需使用 GOOS.GOARCH 环境变量指定目标平台和架构. 部署 ...

  3. 如何在原生鸿蒙中进行RN的断点调试

    方式一  chrome devtools的方式 第一步:metro的方式加载bundle 先设置好原生这边的代码,然后记得打开RN服务器. 注意这个enableDebugger的值一定要设置为true ...

  4. Zcmu-1178

    思路: 分析题目要求的就是由2,3,5,7单独相乘或者组合相乘的数字. 所以将数字循环起来相乘,之后结果按从大到小地无重复放进数组当中. 学长 #include<set> #include ...

  5. C# 企业微信消息推送对接,实现天气预报推送

    C# 企业微信消息推送对接,实现天气预报推送 迷恋自留地 准备工作 需要获取的东西1. 企业Id,2.应用secret 和 应用ID 获取企业id 注册完成后,在我的企业=>企业信息=>最 ...

  6. arcgis技术文章索引

    1.Error:  The System Clock has been set back to the past. 点击打开链接 2.Error:  Error 1500. Another insta ...

  7. 裸辞一年狂肝了一个AI搜索!我要硬刚Google和Perplexity!

    Hika AI 是一款 AI 加持的「知识搜索工具」,它主要的目的是帮助你在搜索问题时通过Hika的「不同视角的思路」,为你快速延伸问题相关的知识领域,或者深挖问题中某个关键点,获得更加全面的结果. ...

  8. ng-alain: 配置开发环境

    配置 ng-alain 开发环境 安装 1. Yarn 官方文档实际上是基于 Yarn 1 的,请从 Yarn 1 开始.在创建项目之后,可以升级到 Yarn 3. 注意:直接通过 npm 安装 ya ...

  9. iOS app 自动化测试 - 环境搭建

    1. 基本前提 安装好了 mac 上自动化测试的基本环境 如果没有,可以参考这一个: 2. iOS appium python自动化测试环境搭建 2.1 真机环境 2.1.1 前提:安装了 appiu ...

  10. arch linux deepin-wine-wechat

    https://aur.archlinux.org/packages/deepin-wine-wechat md5sum for WeChatSetup-3.9.0.28.exe should be ...