如何重新编译对VCL源文件(Menus.pas)的修改?

non*_*one 9 delphi compiler-errors delphi-xe

我们有一个修改过的menus.pas.

uses ...,Controls,...;
Run Code Online (Sandbox Code Playgroud)

编译器引发了致命错误:

[DCC致命错误] Menus.pas(*):F2051单元控件是使用不同版本的Menus编译的.TPopupMenu

尝试:

删除了项目中的所有dcu.

建立

建立所有

尝试将文件添加到库路径,这导致添加db文件夹(也来自vcl)然后再添加到

[DCC错误] jpeg.pas(872):E2065不满意的前向或外部声明:'jpeg_save_markers'

这是一个死胡同.

删除了controls.dcu(全部3个),并且delphi不知道自动重新编译它们,而是报告控制器丢失了.

Dav*_*nan 14

以下是我处理VCL源文件修改的方法:

  • 复制项目结构中的文件.将文件添加到项目中,或确保搜索路径找到修改后的文件.
  • 进行修改,但仅限于实施部分.如果您使用自己使用您正在修改的单位的任何其他单位,则无法修改界面部分.
  • 在已修改的源文件的顶部显式设置编译器选项.使用默认的Delphi选项,通过在默认的vanilla项目中按CTRL + OO找到.

我猜最后两个要点之一就是绊倒你.