Здравствуйте, 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'"