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

Вниз

Непонятка с указателями и списком TList   Найти похожие ветки 

 
Antip   (2006-01-20 21:59) [0]

До этого старался избегать работать с указателями, но если все делать правильно, то это вполне интересное занятие ;) Только некоторые моменты начинаешь не понимать). Так вот у меня возник вопрос, а нужно ли в моем случае после объявления указателя aMyItem и добавления его в список приравнивать к nil, чтобы уничтожить указатель и избежать какой-либо утечки памяти? Главное, что работает в обоих случаях и по идее если я уничтожаю указатель aMyItem, то должен такой же уничтожится и в TMyList, ведь адреса то вроде у них одинаковы. Или я что-то путаю?
Спасибо заранее за помощь.

Вот исходник мой:

 TMyItem = record
   Name     : WideString;
 end;
 pMyItem = ^TMyItem;
 TMyList = TList;
...
var
 Form1: TForm1;
 List: TMyList;
...
 List := TMyList.Create;
...

procedure TForm1.Button1Click(Sender: TObject);
var aMyItem : pMyItem;
begin
 New(aMyItem);
 aMyItem.Name := "Привет";
 List.Add(aMyItem);
 aMyItem := nil;
end;


 
Desdechado ©   (2006-01-20 22:53) [1]

в tlist ты добавил указатель на память
aMyItem := nil; - это НЕ освобождение, освобождение делается через Dispose
теперь этот указатель указывает ни на что
а в листе СВОЙ указатель, который указывает на ту область памяти, которую ты выделил


 
Джо ©   (2006-01-20 22:57) [2]

> aMyItem := nil;

Нет, это лишнее и ни к чему не приведет.


 
Antip   (2006-01-20 22:59) [3]

Спасибо братцы, теперь понял ;)



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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
1-1135970052
Allegarh
2005-12-30 22:14
2006.02.05
Поддержка нескольких языков в программе


1-1136371639
TStas
2006-01-04 13:47
2006.02.05
Как вытащить из TMSG состояние шифтовых клавиш?


9-1124804956
BlackandWhite
2005-08-23 17:49
2006.02.05
Анимация дли игры


3-1134069262
Сафаров
2005-12-08 22:14
2006.02.05
master/detail


1-1135893018
Profi
2005-12-30 00:50
2006.02.05
Сохранение позиций ToolBar