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

Вниз

Динамические массивы   Найти похожие ветки 

 
7Up ©   (2002-09-09 14:22) [0]

Привет, мастера!

Нужно ли после работы с динамическим массивом освобождать его?

Я пишу библиотечные функции вида
procedure dosome (var a:array of Ansistring);
begin
Setlength (a,0);
.......
{цикл}
.......
SetLength (a,Length(a)+1);
.......
{конец цикла}
end;

При использовании этих функций по закрытии формы возникает ошибка 204 (неправильная операция с указателем).


 
Рыжик ©   (2002-09-09 14:27) [1]

Конечно нужно.


 
Alx2 ©   (2002-09-09 14:33) [2]

Попробуй вот так:


Type TAnsiStringArray = array of Ansistring;

procedure dosome (var a:TAnsiStringArray);


Иначе ты работаешь не с динамическим, а с открытым массивом.


 
VAleksey ©   (2002-09-09 14:35) [3]

Да нужно.
Просто присваивай динамическому массиву nil и все будет ок.


 
MBo ©   (2002-09-09 14:36) [4]

А не удобнее ли в данном случае TStringList?


 
Alx2 ©   (2002-09-09 14:40) [5]

>Нужно ли после работы с динамическим массивом освобождать его?

Массив сам умрет, как только кончится зона его жизни. Компилятор генерирует для этого специальный код. Так, массивы объявленные как локальные переменные, сами умирают при выходе из процедуры или функции, где они объявлены. При этом освобождается занимаемая ими память (аналогия с типом String). Другое дело, когда массив вынуждены прибить вручную - в целях экономии, например и когда он больше не нужен:)


 
Anatoly Podgoretsky ©   (2002-09-09 15:01) [6]

Не нкжно, это объект с фиксированным временем существования, но если бущешь очищать, то ничего плохого не произойдет



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
14-61299
AL2002
2002-08-23 23:36
2002.09.19
Есть у кого-то песня On The Bible группы Deuce?


3-60996
Nash
2002-08-29 15:34
2002.09.19
Подскажите пожалуйста синтаксис between, а то запутался с кавычка


1-61046
Prok12
2002-09-08 16:46
2002.09.19
Как избавиться от сообщений типа:


1-61057
carmen
2002-09-09 09:00
2002.09.19
Работа со СКИНАМИ


3-61004
RDA
2002-08-29 10:19
2002.09.19
Посоветуйте как правильно и как проще - РАБОТА СО СПРАВОЧНИКАМИ