Delphi - Почему ExplicitWidth и ExplicitHeight продолжают появляться в.DFM файлах и что это?

Мы заметили это при регистрации в обновлениях, нашем .DFM файлы добавили ExplicitWidth и ExplicitHeight свойства - но мы не знаем почему.

Мои вопросы:

  • Для чего эти свойства?
  • Почему они автоматически добавляются Delphi?

Ниже пример, показывающий добавленное ExplicitWidth свойство:

object Splitter2: TcxSplitter
    Left = 0
    Top = 292
    Width = 566
    Height = 8
    Cursor = crVSplit
    HotZoneClassName = 'TcxXPTaskBarStyle'
    AlignSplitter = salBottom
    Control = BottomPanel
    Color = clBtnFace
    ExplicitWidth = 8
end
33
задан Pauk 29 October 2018 в 15:13
поделиться

3 ответа

Из Googling ....

Исходную статью можно найти здесь.

Явные свойства запоминают предыдущие границы элемента управления до изменения свойств выравнивания или привязки с их значений по умолчанию.

Явные свойства не записываются только тогда, когда для свойства Align устанавливается значение по умолчанию alNone.

Это когда Явные свойства фактически используются элементом управления для сброса его границ до прежних значений .

29
ответ дан 27 November 2019 в 18:12
поделиться

Delphi добавляет значение опубликованных свойств в файл DFM только в том случае, если его значение отличается от значения по умолчанию.

Например:

property ExplicitWidth: Integer read FExplicitWidth write FExplicitWidth default 1;

Если значение ExplicitWidth не равно 1, то оно будет записано в DFM. Если значение "по умолчанию" не определено, то в DFM будет записано любое значение.

TcxSplitter не является стандартным компонентом Delphi, о назначении свойств лучше спросить у его автора.

0
ответ дан 27 November 2019 в 18:12
поделиться

С помощью DDevExtensions вы можете отключить сохранение этих свойств в dfm:
http://andy.jgknet.de/blog/?page_id=10

Добавляет средство удаления явных * свойств, чтобы файлы DFM были совместимы со старыми версиями Delphi. версии

33
ответ дан 27 November 2019 в 18:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: