![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Экспериментатор
Форумчанин
Регистрация: 16.04.2008
Сообщений: 218
|
![]()
Создал динамический массив такого типа:
Код:
PS Вручную создавать связанный список лень =)
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 08.08.2010
Сообщений: 371
|
![]()
Может дело не в массиве?
Хакинг - не преступление, а способ выживания.
Последний раз редактировалось Ghost of Night; 12.07.2011 в 02:48. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Дело не в этом массиве. У вас порча стека. Вы затираете переменную NeedList.
В программе есть статические массивы? Опция Range Check включена? Используются низкоуровневые процедуры типа Move, FillChar, ZeroMemory? Идёт работа с указателями?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#4 |
Экспериментатор
Форумчанин
Регистрация: 16.04.2008
Сообщений: 218
|
![]()
Статических нет, есть еще один динамический. С указателями и низкоуровневыми процедурами не работаю.
Включил Range Check и понял, что дурак.. Ведь SetLength(NeedList, 100) дает NeedList[0..99], а не NeedList[1..100]. Вечером проверю - отпишусь. UPD: всё верно, благодарю =)
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
Последний раз редактировалось Олвин; 13.07.2011 в 02:08. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Так тоже будет работать создает список массивов память ячейкам вы ваделяете по мере надобности
Код:
Код:
Последний раз редактировалось Aliens_wolfs; 13.07.2011 в 12:48. |
![]() |
![]() |
![]() |
#6 |
Экспериментатор
Форумчанин
Регистрация: 16.04.2008
Сообщений: 218
|
![]()
Aliens_wolfs, у меня почти так и есть. Только память выделяется один раз, но заранее неизвестно на сколько элементов. Вопрос в другом был - был выход за границы допустимого диапазона, поэтому при завершении процедуры вылетала ошибка. (видимо из-за автоматической очистки памяти)
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
![]()
Ошибка вылетала когда записывали информацию в массив или когда читали с массива информацию?
|
![]() |
![]() |
![]() |
#8 |
Экспериментатор
Форумчанин
Регистрация: 16.04.2008
Сообщений: 218
|
![]()
Да всё, ошибки нет) А вылетала она (казалось - мистика) перед end-ом процедуры, в которой объявлен массив. Ну потом я включил Range Check и она (хотя уже другая) стала вылетать при записи элемента.
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
|
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 08.08.2010
Сообщений: 371
|
![]() Цитата:
Хакинг - не преступление, а способ выживания.
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с динамическими массивами | San4o | Общие вопросы Delphi | 5 | 13.09.2009 21:15 |
Задача с динамическими массивами | _grusha_ | Помощь студентам | 2 | 22.04.2009 19:46 |
Проблема с динамическими массивами | Arassir | Помощь студентам | 2 | 11.11.2008 00:15 |