![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как правильно очистить TList'ы, чтобы не было утечек памяти
__QWERTY © (2012-05-04 14:28:00)
var
I: Integer;
ListA, ListB: TList;
SL: TStringList;
begin
ListA := nil;
ListB := nil;
try
ListA := TList.Create;
ListB := TList.Create;
SL := TStringList.Create;
ListA.Add(SL);
for I := 1 to 10 do
begin
SL := TStringList.Create;
ListA.Add(SL);
ListB.Add(SL);
end;
except
ListA.Free;
ListB.Free;
end;
end;
MBo (2012-05-04 15:41:00) [21]for i := 0 to ListA.Count - 1 do
TObject(ListA[i]).Free;
А вообще в данном случае проще TObjectList c OwnObjects использовать
MsGuns (2012-05-04 15:01:00) [22]Да и вообще в сабже бред написан, бессмыслица
MsGuns (2012-05-04 14:59:00) [23]1)
ListA := nil;
ListB := nil;
И нафих не нужны
2) Вместо Except в данном случае нужен finally
3) а стиринглисты Пушкин с Байроном выгребут ?
Медвежонок Пятачок (2012-05-04 14:32:00) [24]а типа ты не знаешь