Вниз
Скачать: CL | DM;

Есть ли ошибка в коде?   Найти похожие ветки 

← →
Makhanev A.S. ©   (2003-01-25 13:00) [0]

function Func(...): TStrings;
begin
Result := TStringLst.Create;
...
Result.Add(...);
...
end;


Можно ли таким образом создавать объект? Удалится ли он?
По идее операция:

A := TStringLst.Create;
...
A := Func;


Присвоит переменной А ссылку на Result???
Поясните, пожалуйста.


← →
REA ©   (2003-01-25 13:06) [1]

Создавать можно, хотя и не нужно - не видно логики программы. Удалять надо будет руками A.Free;


← →
Юрий Зотов ©   (2003-01-25 13:18) [2]

> Можно ли таким образом создавать объект?
Можно.

> Удалится ли он?
Сам по себе - нет.

A := TStringLst.Create - это лишнее. Надо сразу A := Func. Иначе Вы создаете 2 объекта, причем первый теряется и повисает в памяти.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
1-4856
Antosya
2003-01-24 16:32
2003.02.03
Часы!


3-4730
Ops
2003-01-14 16:08
2003.02.03
SQL запрос. Сумма по 2 таблицам. Уже 2 часа думаю


1-5005
tga
2003-01-23 12:09
2003.02.03
Окошко в отдельном потоке. Как?


14-5238
Leonidimus
2003-01-16 14:29
2003.02.03
Проблемы с копированием файла через WinApi


14-5249
Ketmar
2003-01-15 21:01
2003.02.03
Elite: Mythology - нужна ли там сеть?




   Наверх