Неверный индекс в отчетах о циклах

У меня проблема с использованием цикла for с полями Crystal Reports.

С моей целью я пытаюсь извлечь все SQLExpressionFieldDefinition из моего отчета.
Чтобы сделать это, я получаю счетчик SQLExpressionFieldDefinition в отчете.

Цикл for работает идеально, пока не достигнет последней итерации. Затем он генерирует недопустимый индекс.
Другими словами, SQLExpressionFieldDefinition-> Count = 5 для примера, первые 4 итерации работают, когда он достигает 5 числа, появляется проблема недопустимого индекса.

Вот код:

for ( nIterator = 1; nIterator <= rpt->DataDefinition->SQLExpressionFields->Count; nIterator++ )
{
SQLExpressionFieldDefinition
*sqlExpressionFieldDefinition = rpt->DataDefinition->SQLExpressionFields->get_Item(nIterator);

strText = sqlExpressionFieldDefinition->Text;}

Жду ваших ответов. Спасибо.

0

Решение

Индексаторы для массивов должны начинаться со значения 0, а не с 1 и заканчиваться значением Count - 1,
Crystal Reports не является исключением из этого правила.

for (nIterator=0; nIterator < rpt->DataDefinition->SQLExpressionFields->Count; nIterator++ )
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector