如何在Delphi(XE2)中更改VCL单元?

时间:2014-07-21 11:52:32

标签: delphi vcl

我在Delphi VCL单元Grids.pas中发现了一个错误(QC#25702)的解决方法,所以我将该文件复制到我项目的源文件夹中,将其添加到项目中并更改了几行代码。那就是Delphi 2007,一切都按预期工作。

现在,使用Delphi XE2,该项目不再编译。它抱怨不兼容的类型“TCustomGrid”和“TdzVirtualStringGrid”(它是TCustomGrid的后代)。事实证明,一个单位是指在我的Grids.pas副本中声明的TCustomGrid,另一个是在Vcl.Grids.pas中声明的TCustomGrid。即使两个单元的use子句中都有“Grids”(而不是Vcl.Grids),也会发生这种情况。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您的问题是您在XE2项目中包含Delphi 2007 Grids单元。这根本不起作用。以这种方式修改RTL / VCL单元需要做的事情如下:

  1. 从您使用的Delphi版本附带的设备的源代码开始。在这种情况下,请从XE2随附的Vcl.Grids.pas开始。
  2. 在项目目录中制作该单元的副本,并将该单元添加到项目中。
  3. 对复制单元的实施部分进行任何修改。