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

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

Когда освободиться TStrings ? [D7, XP]


Страницы:   1 2

Альф ©   (2009-05-13 10:40:00) 

Простите за немножко дурацкий вопрос :)

Ситуация такая - есть функция вида

function CreateStringList(const Value: string): TStrings;
var
 i: integer;
begin
 result := TStringList.Create();
 try
// Тут заполняем список в зависимости от условий
     for i := 0 to 9 do result.Append(IntToStr(i));
 except
   result.Free();
   raise;
 end;
end;


При таком вызове понятно когда создастся и освободиться список из CreateStringList

var
 sl: TStrings;
begin
 sl := CreateStringList('*.txt');
 Memo.Lines.Assign(sl);
 sl.Free();
end;


А вот когда освободиться этот список при таком вызове ?

 Memo.Lines.Assign(CreateStringList('*.txt');


Альф   (2009-05-13 11:01:00) [21]

Т.е. список "уходит в закат" и компилятор, получается, никак не отслеживает такие ситуации...


Palladin   (2009-05-13 10:44:00) [22]

Никак.


Григорьев Антон   (2009-05-13 10:42:00) [23]


> А вот когда освободиться этот список при таком вызове ?

При завершении программы. Да и то деструктор так и не будет вызван.


Страницы:   1 2

Наверх

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