Форум: "Основная";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.034 c