Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.10.2009, 21:58   #1
Gypsy
Пользователь
 
Регистрация: 16.10.2009
Сообщений: 42
По умолчанию Трудный list index out of bounds

Доброго времени суток всем уважаемым!
Вопрос не могу разрешить. Вообще кода многа, нет смысла выкладывать. Суть программы в том, чтобы получать данные извне по ДДЕ, обрабатывать и выдавать на выходе команды другому приложению функциями API. Иногда вылетает ошибка "list index out of bounds". Критерии и условия, когда она вылетает, определить не удается. Всегда по разному и неожиданно. В программе куча циклов, подпрограмм с циклами. Вопрос таков. Может быть можно в процессе выполнения (не в процессе отладки) программы в Delphi наблюдать за все используемыми в коде переменными?
Gypsy вне форума Ответить с цитированием
Старый 23.10.2009, 22:31   #2
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
По умолчанию

На мрй взгляд нуно создать watchList для переменных и во время отладки юзать F4(переход к выполнению операторов,где указан курсор),тойсть после кажд цикла юзать эту комбинацию.
Зы:
1.данная ошибка возникает при переборе значения некого типа переменной
2.выход за рамки переменной(возможно в цикле)
Lemo вне форума Ответить с цитированием
Старый 23.10.2009, 23:26   #3
WMag
Новичок
Джуниор
 
Регистрация: 23.10.2009
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Gypsy Посмотреть сообщение
Может быть можно в процессе выполнения (не в процессе отладки) программы в Delphi наблюдать за все используемыми в коде переменными?
В процессе выполнения вижу только 2 варианта:
вывод значений переменных на форму (заголовок, статусбар и тп.)
либо ведение log-файла (можно сделать там типа таблички для удобочитаемости, если много переменных)
WMag вне форума Ответить с цитированием
Старый 24.10.2009, 17:17   #4
Gypsy
Пользователь
 
Регистрация: 16.10.2009
Сообщений: 42
По умолчанию

Спасибо за советы, но отладка не пойдет. Программа сложная, не понятно, где может возникать ошибка. Работа предназначена для длительной работы и в режиме рантайм должна принимать данные по ДДЕ из одной программы, выполнять вычисления и отдавать некие команды функциями АПИ другой программе. Так вот, время от времени бывают сбои именно с этой ошибкой. Надо как то в режиме рантайм смотреть переменные.
Gypsy вне форума Ответить с цитированием
Старый 24.10.2009, 18:24   #5
Lemo
Форумчанин
 
Аватар для Lemo
 
Регистрация: 13.10.2008
Сообщений: 714
Радость

я бы еще сделал так:
проставил бы бряки(брекпоинты) по всему коду программы, и ты будешь знать между какими бряками прорисходит ошибка, что даст тебе опредененный кусок кода с твоей логической ошибкой!
Lemo вне форума Ответить с цитированием
Старый 24.10.2009, 18:30   #6
andreibtzt
Заблокирован
 
Регистрация: 04.04.2009
Сообщений: 43
По умолчанию

if (.....count = 0) or (.....count = -1) then exit;
andreibtzt вне форума Ответить с цитированием
Старый 11.11.2009, 11:08   #7
Gypsy
Пользователь
 
Регистрация: 16.10.2009
Сообщений: 42
По умолчанию

Спасибо всем за советы, но ничего из вышесказанного не пойдет, так как код большой, циклов дохерища.
Может кто по опыту поймет. Я заметил ошибка эта у меня возникает всегда в одном случае. Когда переключаешься на какое-нибудь другое приложение, потом обратно возвращаешься в свою прогу - иногда возникает эта ошибка. Ну может кто знает? Ветераны?
Спасибо.
Gypsy вне форума Ответить с цитированием
Старый 11.11.2009, 14:56   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Уже красная карточка есть...
Читаем правила.
Некоторые выражения у нас не допускаются...
mihali4 вне форума Ответить с цитированием
Старый 11.11.2009, 15:12   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

выводить в переменные не хотите, отлаживать брекпоинтами не хотите...

списки tlist используются в программе, массивы?
...закомментируйте последовательно код, сначала передачу внешнему приложению, посмотрите будет-ли ошибка, потом двигайтесь дальше.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сообщение об ошибке LIST INDEX OUT IF BOUNDS cowboy Общие вопросы Delphi 9 16.10.2009 13:34
обход ошибки List index out of bounds (0) Яр|/||< (^_^) Общие вопросы Delphi 3 29.06.2009 12:45
Табулирование функции. Ошибка 'List index out of bounds(0)' Мэр Общие вопросы Delphi 2 03.06.2009 09:11
При запуске ComboBoxEx пишет List index out of bounds -1. dx+ Общие вопросы Delphi 6 12.06.2008 22:32