Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Динамическая переменная [D5, D6, MSSQL]


Dvorez ©   (2002-12-23 09:49:00) 

Господа, вопрос такой.
Существует указатель на запись следующего вида:

type
PListObject = ^TListObject;
TListObject = record
kod:string[14];
nkod:string[100];
end;


Соответственно переменная этого типа и переменная типа TList:

var
ListObject:PListObject;
ListUs:TList;


В цикле создаем динамическую переменные и вставляем их в лист:
for i:=0 to 20 do
begin
new(ListObject);
ListObject^.kod:="1";
ListObject^.nkod:="2";
ListUs.Insert(i,ListObject);
end;

Ворпрос:
Нужно ли перед завершением работы программы уничтожать эти динамические переменные (dispose(...))? И почему?


AlexSV   (2002-12-23 11:45:00) [1]

>Нужно ли перед завершением работы программы уничтожать эти динамические переменные (dispose(...))?
Да.
>И почему?
Потому что TList оперирует с pointer"ами и не знает о структуре твоего record"а типа TListObject.
Соответсвенно, он освободит только указатели на записи, но не сами записи.


Наверх

Титульная страница Поиск, карта сайта Написать письмо