|
29.07.2009, 07:27 | #1 |
Мрачный тип
|
Цитата:
Там идет проход по индексу enum'а, а затем уже по индексу инициализируется конкретное числовое значение enum'а. X++: for (i=1;i<=dictEnum.values();i++)
{
value = dictEnum.index2Value(i); При редактировании метода loadModule() у наследников NumberSequenceReference определение наименования переменной ошибочно, ввиду неправильного определения конца строки по символу ";" - strscan() ищет по подстроке от полного исходника, а начало поиска установлено на индекс относительно полной строки исходника. В результате поиск происходит где-то далеко за обявлением искомой переменной. В рабочем варианте выглядит так : X++: if (methodInfo) { positionVarTableStart = strScan(methodInfo.getSource(), tableStr(NumberSequenceReference), 1, strLen(methodInfo.getSource())); if (positionVarTableStart) { positionVarTableEnd = strScan(subStr(methodInfo.getSource(), positionVarTableStart, strlen(methodInfo.getSource())), ';', 1, strLen(methodInfo.getSource())); positionVarTableEnd += positionVarTableStart; if (positionVarTableEnd) { positionVarTableStart += strlen(tableStr(NumberSequenceReference)); return strLRTrim(subStr(methodInfo.getSource(), positionVarTableStart, positionVarTableEnd - positionVarTableStart - 1)); } } } Кому б из "китайских пионеров" гвоздь в голову вбить за слой sys у механизма номерных серий ? Отвратительно !
__________________
Мы летаем, кружимся, нагоняем ужасы ... Последний раз редактировалось TasmanianDevil; 29.07.2009 в 09:13. Причина: Добавил некоторое описание багов, поругался |
|
|
За это сообщение автора поблагодарили: SRF (1). |
01.08.2009, 12:50 | #2 |
Участник
|
Цитата:
Речь видимо шла не о нулевом значении enum'а, а о значении индекса enum'а (который валиден в интервале [0..enumcnt()-1]) - в текущей реализации метода цикл начат с 1. Цикл в pickEnumValue() должен был выглядеть: X++: for (i=0;i<dictEnum.values();i++)
{
...
} P.S. либо так: X++: for (i=1;i<=dictEnum.values();i++)
{
value = dictEnum.index2Value(i-1);
...
names += dictEnum.index2Label(i-1);
...
}
__________________
Dynamics AX 4.0 SP2 |
|
Теги |
faq, number sequence, номерная серия, нумерация, полезное |
|
|