Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Не отображается Published-свойство перечислимого т


Автор: 0leg 26.3.2007, 18:53
Пишу компонент, хочу сделать у него published-свойство перечислимого типа, чтобы оно отображалось в Инспекторе объектов в виде выпадающего списка.

Проблема в том, что Инспектор отображает перечислимый тип только если его элементы нумеруются с нуля и идут по-порядку:

Код

type
 TMyEnum = (meFirst, meSecond); // отображается правильно
 TMyEnum = (meFirst = 0, meSecond = 1); // тоже правильно
 TMyEnum = (meFirst = 5, meSecond = 1); // НЕ ВЫВОДИТСЯ !!

компонент у меня примерно такой:

Код

 TMyComponent = class(TComponent)
 private
   fMyEnum: TMyEnum;
 .................
 published
   property Test: TMyEnum read fMyEnum write fMyEnum;
 end;



Как поступить, если в моем перечислимом типе элементы нумеруются произвольным образом???

(я хочу хранить в этом свойстве список системных констант)

Автор: Sunvas 26.3.2007, 21:32
0leg, не надо путать Делфи. Он во всем любит порядок и гармоничность. Также он хорошо знает что после 0 обязательно идет 1, а не наоборот.
Цитата(0leg @  26.3.2007,  18:53 Найти цитируемый пост)
Как поступить, если в моем перечислимом типе элементы нумеруются произвольным образом???

Пронимировать их по порядку.

Автор: 0leg 28.3.2007, 14:28
Цитата(Sunvas @  26.3.2007,  21:32 Найти цитируемый пост)
не надо путать Делфи. Он во всем любит порядок и гармоничность. 

...и при этом разрешает нумеровать перечисление как попало.

Похоже простого пути нет, жаль...
Тема закрыта.

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