Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.03;
Скачать: 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 вся ветка

Текущий архив: 2003.02.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-5025
Странный
2003-01-23 20:04
2003.02.03
Как подменить событие при нажатии на клавишу в форме?


1-4987
Ops
2003-01-23 11:10
2003.02.03
Проверить есть ли дискета в дисководе.


3-4713
ledzzz
2003-01-17 17:53
2003.02.03
штрихкод


8-5091
Кен
2002-10-18 01:34
2003.02.03
Как правильно подключить файл справки от RxLib, чтобы при нажатии


1-5034
GrEG
2003-01-22 12:36
2003.02.03
COM/DCOM