![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть ли ошибка в коде? [D7, Win2k]
Makhanev A.S. © (2003-01-25 13:00:00)
function Func(...): TStrings;
begin
Result := TStringLst.Create;
...
Result.Add(...);
...
end;
Можно ли таким образом создавать объект? Удалится ли он?
По идее операция:
A := TStringLst.Create;
...
A := Func;
Присвоит переменной А ссылку на Result???
Поясните, пожалуйста.
Юрий Зотов (2003-01-25 13:18:00) [1]> Можно ли таким образом создавать объект?
Можно.
> Удалится ли он?
Сам по себе - нет.
A := TStringLst.Create - это лишнее. Надо сразу A := Func. Иначе Вы создаете 2 объекта, причем первый теряется и повисает в памяти.
REA (2003-01-25 13:06:00) [2]Создавать можно, хотя и не нужно - не видно логики программы. Удалять надо будет руками A.Free;