Показать сообщение отдельно
Старый 13.08.2020, 21:18   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,654 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от wojzeh Посмотреть сообщение
сначала dictField.typeId();
потом:
X++:
 public void populateTree()
    {
        DictEnum          policyRuleTypeEnum;
        int               i;
        policyRuleTypeEnum = new DictEnum(enumNum(SysPolicyRuleTypeEnum));


        for(i = 0; i < policyRuleTypeEnum.values(); i++)
        {
            str sym = policyRuleTypeEnum.value2Symbol(i);
            info(strFmt("%1 %2 %3", i, policyRuleTypeEnum.value2Name(i), sym));
        }

    }
Если уж используешь value2Symbol, тогда в качестве максимального значения счетчика цикла надо ставить 255. Иначе если есть разрывы в значениях, то просто все значения не получишь

Т.е. или в цикле i < policyRuleTypeEnum.values(), но тогда внутри policyRuleTypeEnum.index2Value(i)

Или внутри цикла policyRuleTypeEnum.value2Symbol(i), но тогда в самом цикле I < 255

Для примера, подставь Base Enum с именем UtilElementType. Он как раз на 100 элементах и завершит работу, несмотря на тот факт, что есть значения и больше 100
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...