Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [Delphi] Обработка исключений - спрятать сообщение |
Автор: Rizhaya 9.11.2007, 18:09 | ||
Проблема: При применении TLineSeries в TChart через раз возникает ошибка "List index out of bounds". перелопатив кучу всякой инфы по этому поводу пришла к выводу, что мне надо просто напросто скрыть от пользователя возникновение этой ошибки... Вопрос: Как можно скрыть от пользователя возникновение ошибки? То есть чтобы при возникновении такого исключения программа продолжала работать? И еще: Заметила, что при добавлении Series1.Delete(0) таких ошибок не возникает... Но мне нужно очищать серию время от времени, чтобы прорисовывать новый график... И как раз на Series1.Clear возникает ошибка... Как ни крутила - но решить эту задачку не удалось... Может кто подскажет метод решения без обработки исключений? ЗЫ. Код.
|
Автор: THandle 9.11.2007, 20:38 | ||||
Обработка исключительных ситуаций делается с помощью блоков
Но, ИМХО, не хорошо прятать от пользователя ошибки. |
Автор: Rizhaya 9.11.2007, 21:50 | ||||
То что ты описал, я итак знаю ;) Меня интересует как раз, что же такое вписать в блок except =) Прятать не хорошо, сама знаю, но это уже от очаяния... Ибо что-либо придумать для КОРЕКТНОГО очищения серии не получается... Все равно происходит переполнение... Может кто-то толком обьяснить как происходить все процедура заполнения-очищения серий? Или дайте, где почитать... Потому что везде, где я смотрела, только сухой код, не вдаваясь в подробности... Последняя модификация кода (переполнение происходит когда значение Count переваливает примерно за 200)
Добавлено: Если не использовать метод Clear, то исключение не возникает, но мне НЕОБХОДИМО очищать серию, ибо должен строится новый график, с новыми данными, вместо предыдущего... |
Автор: Rizhaya 10.11.2007, 14:10 | ||
Проблема решена, казалось бы, очевидным способом (даже не знаю, почему мне сразу в голову не пришло это решение). Спасибо всем за участие ;) ЗЫ. Может кому понадобится, то вот само решение (кусочек, где я "очищаю" серию, уничтожая и создавая заново обьект).
|