使Delphi DFM文件与其PAS文件保持同步

时间:2019-04-18 19:55:10

标签: delphi

我有一个Delphi项目,其中包含许多DFM文件和匹配的PAS文件。我可以仅通过重建项目来编译PAS,但是如何重建DFM文件并使它们与PAS文件保持同步?
现在,我收到很多“ [[Variable.field]”没有相应的组件。要删除声明吗?”来自IDE的提示。

2 个答案:

答案 0 :(得分:12)

解决方案很简单。

  1. 如果IDE具有关联的.pas,请不要在IDE外部编辑.dfm文件。

  2. 请勿在IDE外部编辑.dfm

  3. 请勿编辑IDE拥有的.pas文件的部分,该部分位于打开表单类定义和第一个private部分之间。

  4. >
    type
      TForm1 = class(TForm)
        // Form designer property - keep out
        // It is where the IDE adds components you drag/drop, event handlers 
        // generated via the Object Inspector or automatically by the IDE.
        // It is the published section, and is used by the VCL streaming
        // system to create controls that are on the form and attach event
        // handlers at runtime. Leave it alone. If you need something in
        // a published state, add a new published section below the private
        // section.
      private
        // Yours - edit all you want
      public
        // Yours - edit all you want
      end;
    
  5. 如果需要从表单中删除组件,请首先从任何事件处理程序中删除代码(可以使用Object Inspector找到它们),而仅保留空的方法外壳(由过程名称组成) ,然后是一个开始,空白行和结尾),然后在表单上选择该组件并单击Delete。 IDE将同时从.pas文件的第一部分和.dfm的声明中删除声明,并删除空的事件处理程序。

答案 1 :(得分:3)

简单的答案是:使用Delphi IDE编辑与表单相关的.PAS文件,其作用是使它们保持同步。