2

我们正在使用不同供应商的多个组件包,其中两个在其目录结构中都有一个“regexp.pas”单元。

现在的问题是,无论我们编译它们的顺序如何,其中一个都会抱怨使用其他各种单元的错误版本来编译该单元。

有什么办法可以正确处理吗?

4

3 回答 3

8

在任何完全链接和加载的 Delphi 可执行文件中,没有两个单元可以具有相同的名称,无论这些单元是静态链接的还是通过包动态链接的。正如您得出的结论,您必须重命名其中一个。

于 2009-05-20T12:49:00.733 回答
4
  1. 您必须确保您只有该单元的一个版本
  2. 删除所有 dcu(两家供应商的)以强制重新编译所有源代码。
  3. 完全卸载 2 个供应商的软件包(确保每个地方的每个痕迹都被删除)
  4. 一次重新编译和安装一个。
于 2009-05-20T11:59:54.093 回答
0

您可以使用此解决方法。

如前所述,您不能将两个供应商包一起加载到 IDE 中。

但是,如果您一次需要一个,您可以使用“-r”命令行开关启动两个不同的 IDE 配置文件,为每个配置文件指定一个自定义名称。然后,您可以使用第一个配置文件启动 Delphi,并安装两个“冲突”包中的第一个,关闭 IDE 并使用第二个配置文件运行 Delphi,然后安装另一个包。

为每个配置文件创建一个快捷方式,然后运行 ​​Delphi,选择加载您需要维护特定项目的包的配置文件。

问候,~/|/|arco。

于 2009-05-21T17:22:46.573 回答