Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Вниз

Непонятка с указателями и списком 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.012 c
15-1137359086
Kerk
2006-01-16 00:04
2006.02.05
Убила фраза :)


15-1137010804
Firefly
2006-01-11 23:20
2006.02.05
Нужна ли программисту математика?


6-1130508869
SergP.
2005-10-28 18:14
2006.02.05
Многократное срабатывание ServerSocket1ClientError


2-1137109613
Люди
2006-01-13 02:46
2006.02.05
Как узнать существует ли файл на сайте


2-1137698958
Dead.MorozZ
2006-01-19 22:29
2006.02.05
CH Pack





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский