![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() здраствуйте.
у мя в программе используется несколько динамических массивов.постоянно идёт с ними работа. и в одном месте при попытке сделать массив нулевым ( setlength(PosList,0) ) пишет Invalid Pointer Operation и дальше при размер не изменяется. (проверял кнопочкой через ShowMessage(IntToStr(Length(PosList))); но при этом при попытке считать значения/записать/изменить длинну массива нельзя, ерроры сыпятся. случилось это после того как создал еще один массив. Ошибок типа записи в несуществующий элемент массива нету точно. один чел сказал что это может быть из-за грязно-инициализированных массивов,я честно непонял как это понять. массивы создаю обычным путём (типа PosList: array of Integer; ) почти везде длинна увеличивается следующим путём SetLength(PosList,Length(Poslist)+1);. И еще заметил,если эта процедура,в которой присутствует строка setlength(PosList,0) вызывается из другого места программы,то всё норм,а из еще одного места уже ошибка,ну естественно после появления ошибки,обращение к массиву из любого места выдает ошибку.и при закрытии программы тоже. Что это может быть,почему? может это из-за того что используется много динамических массивов и приложение наичнает в них путаться? В данном случае именно ошибок в коде точно нет,я уверяю.разме что дейтсвительно массивы инициализированы грязно (хз как понять)) |