Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > property ToolBar: Integer index 405 ?


Автор: Delphist 3.10.2007, 16:48
Первый раз столкнулся с такой записью:
Код

  property ToolBar: Integer index 405 read GetIntegerProp write SetIntegerProp stored False;
что означает в данном случае index 405

Автор: Alexeis 3.10.2007, 17:30
Это значит что значение данного свойства устанавливается по индексу. Функция SetIntegerProp и GetIntegerProp, помимо значения должна принимать еще и индекс, т.о. можно назначить всего одну функцию сетер и гетер для нескольких свойств. Внутри функции какое свойство действительно нужно изменить можно определить при помощи оператора Case или, например, для хранения данных полей можно использовать массив.

Добавлено через 1 минуту и 14 секунд
Такая технология заметно уменьшает объем кода и в случае однотипных свойств делает код более прозрачным.

Автор: stab 3.10.2007, 17:38
это такой волшебный способ доступа к свойствам, в GetIntegerProp и SetIntegerProp передаётся дополнительный параметр типа Integer - index, в этом примере - 405. за 10 лет разработки пару раз видел такое. честно говоря, ума не приложу когда это нужно использовать. подозреваю, появление этой конструкции было вызвано экспериментами в области OLE.

Автор: Delphist 3.10.2007, 17:44
Всем спасибо.

Автор: DonPager 3.10.2007, 17:48
stab, да нет это достаточно часто используется, например в поле ограничения размера TWinControl (там 4 однотипных константы), для оптимизации кода (действительно а зачем писать несколько процедур присвоения, когда достаточно одной) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)