Apossum
Активный участник
Здравствуйте!
В качестве примера приведу вот такой простейший пример:
В данном примере получаем утечку памяти на не очищенном TStringList и при этом очистить его так просто нельзя, result окажется пустым...
вариант с другой переменной TStringList и в конце result:=переменная, переменная.Free тоже выдает пустой result.
Как поступить в данной ситуации? Описать новый класс, или реализовать в виде массива? Это всего лишь простейший пример, но в "настоящей" функции используется большое количество строк и утечка выходит серьезной. Подскажите как быть?
В качестве примера приведу вот такой простейший пример:
Код:
function func(a : string;):TStringList;
var i:integer;
begin result:=TStringList.Create;
for i := 0 to 10 do result.Add(a);
end;
вариант с другой переменной TStringList и в конце result:=переменная, переменная.Free тоже выдает пустой result.
Как поступить в данной ситуации? Описать новый класс, или реализовать в виде массива? Это всего лишь простейший пример, но в "настоящей" функции используется большое количество строк и утечка выходит серьезной. Подскажите как быть?