【问题标题】:FireDAC conflicts with multiple Delphi versions on the same machineFireDAC 与同一台机器上的多个 Delphi 版本冲突
【发布时间】:2014-09-11 04:29:53
【问题描述】:

我知道通常总是可以在一台计算机上执行多个 Delphi 版本的side-by-side installation。自 Delphi 1 以来,我经常这样做。

但是,在安装了 XE6 的计算机上安装 Delphi XE7 后,我在尝试使用 XE7 中的 FireDAC 或 FDExplorer 时遇到异常错误(例如 AV)。乍一看一切正常,但是当尝试连接到数据库时,连接“挂起”,或者你得到一个 AV。

XE6 一切正常。

XE7 的安装使用默认设置完成,XE6 已安装,包括安装 XE7 之前的所有更新。

有什么建议吗?

【问题讨论】:

  • 我自己没有经历过这种行为,这两个版本都可以正常工作。您是否已经尝试过完全卸载并重新安装 XE7?还要检查 IDE 中的库路径,它是否指向正确的版本?
  • @Copilot:一切看起来都应该如此(库路径等),完全卸载/重新安装 XE7 不会改变任何东西。我想我将最终卸载 XE7 并修复 XE6 以确保 XE6 正常工作,然后在新的虚拟机上安装 XE7。我已经在使用虚拟机进行安装。我只是希望从头开始跳过完整安装所有开发工具(除了 Delphi)的过程。

标签: delphi firedac


【解决方案1】:

我自己在第一次安装 XE7 并定义了与 Oracle 的一些连接,然后安装 Delphi XE3 以对第三方组件进行一些逐步升级时确实遇到了同样的问题。 因为我还需要 FireDAC,所以我将 Firedac 附加组件安装到 XE3,但是当我将 FireDAC 附加组件安装到 XE3 时,我丢失了连接定义,并且在尝试定义新连接时收到错误消息,指出 FDconnectionDefs.Ini 不是可写在目录中(在程序文件(x86)Delphi/FireDAC_XE3区域中。

检查后发现安装程序已经覆盖了 \HKCU\Software\Embarcadero\FireDAC 键中的注册。

原来该键中的相同参数被重复使用。

所以结论是,不要在旧版本中安装 FireDAC,在安装 XE4-XE6 时取消选中该选项。

(我已向 Dmitry Arefiev 发送了一个建议,即 FireDAC 密钥应该定义新的子密钥,每个 Delphi/C++ 版本都有一个子密钥,因此可以像以前一样并行使用多个安装。

现在已经坏了:-(

要进行清理,请找到正确的 FDConnectionDefs.ini 并更改必要的密钥。 也有可能该软件也已被覆盖。 我对最新版本的 XE7 进行了修复,在合并了一些 FDconnectionDefs.ini 文件后,我终于让它工作了

【讨论】:

    猜你喜欢
    • 2012-03-30
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 2010-11-26
    • 1970-01-01
    相关资源
    最近更新 更多