В Turbo Delphi в DFM стали писаться 4 новыx проперти: ExplicitTop, ExplicitLeft, ExplicitHeight и ExplicitWidth.
Добавляются они сами. В Object Inspector-е их нет и менять их нельзя т.к. они public read only. Объявлены в TСontrol.
Эти новые проперти здорово раздувают файл формы. Но самое противное:
- Они постоянно меняются и при добавлении в VSS приходится тратить много времени на их вычитку.
- Теряется обратная совместимость формы. Для открытия DFM в ранних версиях надо вычистить все ExplicitX проперти.
Описание этих странных пропертей в хэлпе нет.
Зачем же они нужны?
Внятного ответа от Borland мной не найдено (если кто-то нашел – поделитесь, плиз). В единственном объяснении сказано что в ExplicitX проперти запоминаются значения соответствующих пропертей размеров и расположения, которые были до изменения пропертей Align или Anchor из их дефолтных значений.
Проверяем:
- В центр формы кладется панель. Форма сохраняется. В DFM ExplicitX пропертей нет.
- Align панели ставится в alBottom. Форма сохраняется. В DFM у панели появились ExplicitX проперти со значениями, равными ее Top, Left, Height и Width, когда она была в центре.
- Align панели ставится обратно alNone и… панель сама "прыгает" в середину формы. Форма сохраняется. В DFM ExplicitX пропертей нет.
Мне кажется этот эффект "прыганья" не стоит вышеописанных проблем.
И еще приведенное объяснение явно не полное, т.к. не объясняет эффект появления и исчезания ExplicitX пропертей в TabSheet-ах.
Tags: Turbo Delphi
No comments:
Post a Comment