Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2012, 15:28   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию Цикл. Создание обьекта и добовление в Tlist => Утечка памяти

Доброго времени суток!

Наклацал свой класс на основе Tlist.
в цикле создаю обьекты TObject и в толк не могу взять, почему утекает память оО:
Код:
  for i := 0 to fTS.Count - 1 do
  begin
    Email := TEmail.Create(fTS.Strings[i]); //< - Эврика сюда показывает...
    if (Email.EHost = cMail_IDs[0]) then 
      Inc(iM)
    else if (Email.EHost = cMail_IDs[1]) then
      Inc(iB)
    else if (Email.EHost = cMail_IDs[2]) then
      Inc(iL)
    else if (Email.EHost = cMail_IDs[3]) then
      Inc(iIN)
    else
    begin
      Email.Free;
      Continue;
    end;

    Add(Email);
  end;
в конструкторе вот что:
Код:
constructor TEmail.Create(aMail:String);
const
  DoPrefix = '@';
  AfterHost = '.ru';
var
  s, sPrefix, sPostFix: string;
begin
  inherited Create;
  fData := TEmailData.Create;
  s := LowerCase(aMail);
  sPrefix := Copy(s, 1, Pos(DoPrefix, s) - 1);
  Delete(s, 1, Pos(DoPrefix, s));
  sPostFix := Copy(s, 1, Pos(AfterHost, s) - 1);
  fPrefix := sPrefix;
  fBoxHost := sPostFix;
  fEmail := aMail;
  fInfoURL := Format(cMail_UWInfoURL, [fBoxHost, fPrefix]);
end;
Человек_Борща вне форума Ответить с цитированием
Старый 28.01.2012, 15:32   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

TList не уничтожает данные за собой.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.01.2012, 16:08   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
TList не уничтожает данные за собой.
Факт. Вечно забываю об этом....
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
winapi, утечка памяти LockHeart Win Api 3 08.12.2011 02:28
Утечка памяти Juffin Общие вопросы Delphi 3 02.11.2010 12:11
Утечка памяти ZvEr_HaCkEr Свободное общение 13 24.09.2010 19:30
утечка памяти в С++ vengo Общие вопросы C/C++ 9 10.06.2008 21:24
DrawState - утечка памяти? unnamed Win Api 2 11.04.2007 18:36