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.
Как поступить в данной ситуации? Описать новый класс, или реализовать в виде массива? Это всего лишь простейший пример, но в "настоящей" функции используется большое количество строк и утечка выходит серьезной. Подскажите как быть?