воскресенье, 21 апреля 2013 г.

Ссылка прям на мою же тему...

http://habrahabr.ru/post/177431/

Но примесью это кстати можно сделать лучше.

Хм... А можно и не примесью.

Поскольку всё равно USES надо делать - можно просто сделать "вязанку процедур" FreeRef. С overload.

FreeRef(var Ref : TObject); overload;
FreeRef(var Ref : TmyObject);  overload;
FreeRef(var Ref : TmyString);  overload;
FreeRef(var Ref : TmyData);  overload;
etc.
А ВНУТРИ звать FreeAndNil. И овцы сыты и волки целы.

Нудно.. Да. Но не космически сложно. Можно эти процедуры с модели кстати сгенерировать. Рассказать как? Но для этого все интересующие классы должны быть на модели.. Хотя бы в виде "заглушек"...

Я так кстати делал. Но потом - отказался. По своим причинам.

А про примеси - я отдельным постом напишу. Обещаю. Не про наследника от TObject конечно же. Но для "почти любого" другого класса.

Комментариев нет:

Отправить комментарий