首页 > 解决方案 > DFM 文件中的属性顺序是否重要?

问题描述

不标准的属性顺序会导致任何问题吗?

例如,IDE 将TButton组件存储在 DFM 文件中,如下所示:

  object Button1: TButton
    Left = 288
    Top = 160
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end

如果我手动更改属性的顺序,这会导致任何问题吗?

  object Button1: TButton     
    OnClick = Button1Click
    Left = 288
    Top = 160
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
  end

标签: delphidfm

解决方案


似乎有些情况下顺序实际上很重要!

例如,请参阅 TStandardColorMap、TActionManager、TActionClientItem、TTabControl、TTreeView、TMonthCalendar、TDateTimePicker 和 TComboBoxEx(仅从 Vcl 中仅举几例)的已发布部分中的注释,其中已发布属性的顺序是相关的。

由于 DFM 中属性的顺序决定了发布属性的设置顺序,因此任何其他顺序都可能在从 DFM 读取组件后影响属性的值。

MartynA 在另一个答案中提到的修复机制不适用于此类属性。


推荐阅读