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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.09.2009, 13:32   #1
San4o
Пользователь
 
Регистрация: 26.08.2009
Сообщений: 23
По умолчанию Проблема с динамическими массивами

Привет всем

Дело вот в чем...
Объявляю два динамических массива в Public главной формы так :

public
mas,fx:array of real;

В процессе работы в разных местах расширяю по мерее необходимости размер массива и вношу элементы(текст программы большой так что буду показывать кусками, относящимися к проблеме). делаю это так:

setlength(mas,n_mas);
...
if high(fx)<n_mas then setlength(fx,n_mas);

Перед тем, чтобы их занести, я массивы обнуляю :

setlength(mas,0);
setlength(fx,0);

Первый раз все проходит нормально, элементы заносятся, во второй раз, когда я пишу

setlength(mas,0); - проходит нормально
setlength(fx,0); - выдает ошибку - "invalid pointer operation".!!!

В чем может быть проблема? ведь вроде все правильно)
San4o вне форума
Старый 13.09.2009, 13:38   #2
San4o
Пользователь
 
Регистрация: 26.08.2009
Сообщений: 23
Радость

Товарищи сори
проблема разрешилась
San4o вне форума
Старый 13.09.2009, 13:38   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А ты в первый раз задавал длину fx?
P.S. Нормально называй темы! За такие названия банят!
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума
Старый 13.09.2009, 13:41   #4
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Мне кажется нельзя так делать, я тоже с этим сталкивался. Попробуй вместо нуля единицу поставить.
Вадим Буренков вне форума
Старый 13.09.2009, 14:11   #5
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Печаль

[off]
А если у меня несколько одинаковых массива (примерно как в посте 1) и я им задаю довольно большой размер - они могут как бы "перемешаться" друг с другом?
[/off]
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума
Старый 13.09.2009, 21:15   #6
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Цитата:
Вадим Буренков
Мне кажется нельзя так делать, я тоже с этим сталкивался. Попробуй вместо нуля единицу поставить.
Так можно делать и нужно. setlength(mas,0); освобождает память, выделенную под массив.
Цитата:
DomiNick
[off]
А если у меня несколько одинаковых массива (примерно как в посте 1) и я им задаю довольно большой размер - они могут как бы "перемешаться" друг с другом?
[/off]
Конечно нет, ничего не перемешается. Если не будет хватать памяти, то получишь исключение EOutOfMemory.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование алгоритмов над многомерными динамическими массивами Master23 Общие вопросы C/C++ 2 30.05.2009 04:28
Delphi... Проблема с динамическими массивами (попытка чтения по неправильному адресу) g0liath Помощь студентам 2 12.05.2009 08:45
Задача с динамическими массивами _grusha_ Помощь студентам 2 22.04.2009 19:46
Проблема с динамическими массивами Arassir Помощь студентам 2 11.11.2008 00:15
Помогите решить задачу с динамическими массивами и строками символов Andres Помощь студентам 2 31.01.2008 11:09