Главная страница
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.047 c
1-1084774129
serg!
2004-05-17 10:08
2004.05.30
поток


14-1083998971
Mamed
2004-05-08 10:49
2004.05.30
Sound tuk tuk


7-1082527197
ASMiD
2004-04-21 09:59
2004.05.30
Delphi и 3D ускорители


6-1081438765
-=Demon=-
2004-04-08 19:39
2004.05.30
Структура IP,TCP и ICMP


7-1082543883
freeman82
2004-04-21 14:38
2004.05.30
вызов функции в потоке