DFM 文件中属性的顺序重要吗?

Does the order of properties in DFM file matter?

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

例如IDE在DFM文件中存储一个TButton组件如下:

  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

据我所知,DFM 文件中的属性顺序无关紧要。

我觉得这没什么区别。

TReader class 负责处理从 DFM 流中读取组件属性。这通过创建从流中读取的 "fix-up list" 的 属性 值来操作,在读入整个组件后,使用该流来设置组件的属性。请参阅 Danny Thorpe (ISBN 0-201-46136-6) 的 Delphi Component Design 中的 Streaming 章节,了解更全面的细节以及它为何如此设计。

我看到 Uwe Raabe 添加了一个答案,他通常是对的。

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

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

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

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