Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.025 c
6-1081528144
Raptoridze
2004-04-09 20:29
2004.05.30
Twebbrowser


6-1081348713
ultracrash
2004-04-07 18:38
2004.05.30
отключения картинок в компоненте WebBrowser


1-1084541238
Beglec
2004-05-14 17:27
2004.05.30
Не могу понять предупреждение компилятора


14-1084194736
Piter
2004-05-10 17:12
2004.05.30
Кто-нибудь играл в Коммандос-3?


14-1084057797
Jim Bowling
2004-05-09 03:09
2004.05.30
Помогите советом по установке драйвера для видеокарты




   Наверх