如何从VCL重新编译特定单元?

时间:2009-06-28 14:20:44

标签: delphi compilation delphi-2009 vcl delphi-units

我想将QC中的修复应用到Delphi 2009单元(DBClient,因为它发生)。我知道我需要将设备复制到另一个目录并对副本进行更改。然后我如何让Delphi编译该单元并使用它来支持已经存在的DCU?

3 个答案:

答案 0 :(得分:16)

如果您不想修改原始的.Pas文件,我通过将.Pas文件复制到我的应用程序文件夹中,然后选择构建的项目,它将在我的应用程序文件夹中创建新的dcu文件,这将是用来代替原来的。

答案 1 :(得分:3)

这是最后的手段(而不是CodeGear支持),但我会在必要时做一些类似于穆罕默德的事情。除了将任何已修改的单元放入应用程序文件夹之外,我将它们放入他们自己的文件夹中,并使用其余的库代码,并将此文件夹包含在我的库路径中,供我的所有项目使用。它还可以防止我有多个(可能略有不同)的副本。

我还要检查任何更新,看看有什么变化,这样我就可以删除修改过的单位,或者将更改重新应用到CodeGear中较新的(可能更好的)单位。

答案 2 :(得分:-1)

我自己从未这样做,但{RAD}\source\rtl中有项目和批量构建脚本。我相信这使得重新编译RTL函数变得容易。其他单位应该更容易重新编译。

如果您要进行的更改是本地更改且其他RTL / VCL单元未广泛使用,则最简单的方法是将修改后的单元副本与其标准位置分开放置。

另一种选择是运行时修补,也就是绕行。