Re[5]: Интересная штука!
От: konst  
Дата: 11.12.06 16:28
Оценка:
Здравствуйте, FDSC, Вы писали:

FDS>Здравствуйте, Jack128, Вы писали:


J>>Здравствуйте, konst, Вы писали:


J>>>>утечек нет. Выводы предлагаю сделать самому

K>>>И какие же? С какого фига при уничтожении объектов типа String захваченная ими память не освобождается? Просто интересно, а если есть такие переменные-мемберы классов, то тоже память не освобождается при уничтожении экземпляра класса?

J>>А где ты их освобождаешь?



FDS>По идее String должен её сам освобождать...


Вот вот! Наример:

type
TSome = class
public
  s: String;
end;

procedure DoSome;
var
  a: String;
  b: TSome;
begin
  a := 'aaaaaaaaaaaaaaaaaa';
  b := TSome.Create;
  try
    b.s := a;
  finally
    b.Free; // освобождается память, занятая "b.s = 'aaaaaaaaaaaaaaaaaa'"
  end;
end; // освобождается память, занятая "a = 'aaaaaaaaaaaaaaaaaa'"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.