Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

Invalid pointer operation   Найти похожие ветки 

 
Dysan ©   (2004-05-17 11:47) [0]

Почему при использовании динамического массива типа
array of array of real
при вызове метода close у формы возникает ошибка
"Invalid  pointer operation"


 
MU ©   (2004-05-17 11:50) [1]

Без кода не разобраться... Как "используете" массив


 
R   (2004-05-17 11:53) [2]

Покажи как выделяешь память под массив и как освобождаешь


 
Dysan ©   (2004-05-17 11:56) [3]

вот...
хороший вопрос как освобождашь!
вот так он обьявлен
Tonaj: array of array of real;
вот так задаю размер
setlength(tonaj,2,round(cPutOfMarshrut[0].dl_put*10));
далее он заполняеться!
при попытке FreeMem(tonaj); как раз и возникает описаная выше ошибка. :(


 
Dysan ©   (2004-05-17 11:57) [4]

вот...
хороший вопрос как освобождашь!
вот так он обьявлен
Tonaj: array of array of real;
вот так задаю размер
setlength(tonaj,2,round(cPutOfMarshrut[0].dl_put*10));
далее он заполняеться!
при попытке FreeMem(tonaj); как раз и возникает описаная выше ошибка. :(


 
Algol   (2004-05-17 11:59) [5]

А зачем FreeMem ?


 
[lsmer]Barmaglot   (2004-05-17 12:00) [6]

А задать размер массива равным нулю с помощью SetLength не судьба?


 
[lsmer]Barmaglot   (2004-05-17 12:01) [7]

А задать размер массива равным нулю с помощью SetLength не судьба?


 
Dysan ©   (2004-05-17 12:10) [8]

странная весчь
при закрытии главной формы
даже если указать setlength(tonaj,0,0);
тоже возникает таже ошибка... :(


 
Goida ©   (2004-05-17 12:10) [9]


> Dysan

FreeMem не используется для освобождение такого дин. массива. Нужно с помощью SetLength делать его длину нулевой либо присваивать переменной дин.массива значение NIL. И то, и то - ВЕРНО.


 
Dysan ©   (2004-05-17 12:10) [10]

странная весчь
при закрытии главной формы
даже если указать setlength(tonaj,0,0);
тоже возникает таже ошибка... :(
и именно на этой комманде.


 
R   (2004-05-17 12:14) [11]

//освобождаем
Tonaj:=nil;


 
Silver Alex ©   (2004-05-17 12:15) [12]

динамические массивы вообще  не надо освобождать, память освобождается автоматически, но при желании конечно можно сделать это ручками просто присвоить nil(MyArray:=nil)


 
Dysan ©   (2004-05-17 12:16) [13]

Tonaj:=nil;
уже пробовал
тот же эффект :(


 
Dysan ©   (2004-05-17 12:16) [14]

Tonaj:=nil;
уже пробовал
тот же эффект :(


 
R   (2004-05-17 12:21) [15]

Возможно память по дин. массив выделена не правильно


 
Goida ©   (2004-05-17 12:22) [16]


> Dysan

Посмотри внимательней весь свой код, может быть ты что-то некорректно присваиваешь массиву?


 
Dysan ©   (2004-05-17 12:23) [17]

что значит не правильно
setlength(tonaj,2,500);
это не правильно?


 
Goida ©   (2004-05-17 12:26) [18]


> Dysan

Посмотри внимательней весь свой код, может быть ты что-то некорректно присваиваешь массиву?


 
R   (2004-05-17 12:27) [19]

См. Goida ©   (17.05.04 12:22) [16]
Память выделяешь под меньшее колличество элементов,
попробуй поэкспериментировать прибавь к 500+1=501 или более


 
Dysan ©   (2004-05-17 12:37) [20]

странно 501 решил проблему
спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.061 c
14-1084177556
Всеволод Соловьёв
2004-05-10 12:25
2004.05.30
Про надмозга


3-1084362479
kalishenko
2004-05-12 15:47
2004.05.30
IbAPI


14-1084295662
panov
2004-05-11 21:14
2004.05.30
Хоку-хоку... А кто знает, что за модем Chronos?


14-1084355045
xman
2004-05-12 13:44
2004.05.30
ФОРУМ на темы по Ассемблеру


1-1084567919
LORDMAXX
2004-05-15 00:51
2004.05.30
Где лежит номер лицензии Windows?