Ошибка объекта не инициализирована при циклическом просмотре списка в Dynamics AX?

Проблема:

  • У меня есть список с объектами в качестве элементов.
  • Я использую перечислитель для перебора списка.
  • Во время цикла я назначаю элементы переменному объекту того же типа, что и элемент.
  • Когда я вызываю метод для объекта, но получаю следующее сообщение об ошибке:

Объект MyClass не инициализирован.

Я думаю, что должен разыграть, но не знаю, как это сделать в Dynamics AX.

Разрабатываю в MS Dynamics AX 2012.

MyExampleDataContract exampleDataContract = new MyExampleDataContract();
while (listEnumerator.moveNext())
{
    exampleDataContract = listEnumerator.current();
    info(exampleDataContract.parmCustomerId()); //This gives an error.
}

person Tassisto    schedule 26.04.2012    source источник
comment
Вот оно :), не могли бы вы показать мне, как кастовать в AX?   -  person Tassisto    schedule 26.04.2012
comment
Покажите код, который заполняет список.   -  person Jan B. Kjeldsen    schedule 26.04.2012
comment
exampleDataContract = listEnumerator.current() as MyExampleDataContract; Ваш новый не нужен.   -  person Jan B. Kjeldsen    schedule 26.04.2012
comment
Теперь он говорит: текущий тип должен обозначать совместимый класс, интерфейс или таблицу.   -  person Tassisto    schedule 26.04.2012
comment
Я использовал отладчик и заметил, что listEnumerator не является неинициализированным   -  person Tassisto    schedule 26.04.2012
comment
Покажите код, который заполняет список.   -  person Jan B. Kjeldsen    schedule 26.04.2012


Ответы (2)


Элемент списка может быть нулевым.

List l = new List(Types::Class);
;
l.addEnd(null);
info(int2str(l.elements()));
person Jan B. Kjeldsen    schedule 26.04.2012

Решение было таким: прежде чем вставлять элементы в список, их следует сначала создать.

for (counter = 1; counter <= 3; counter++)
{
    exampleDataContract = new MyExampleDataContract(); // This is what I missed :)
    exampleDataContract.init("DEV-000000000" + int2str(counter));
    myList.addEnd(exampleDataContract);
}
person Tassisto    schedule 27.04.2012