Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FreeAndNil


Страницы:   1 2 3 4 5 6 7

mike_zav ©   (2007-09-21 17:37:00) 

В каких случаях применяют FreeAndNil? А в каких просто .Free?
Зачем это нужно? Если можно с примером.


Плохиш   (2007-09-24 15:31:00) [21]


> Раз уж такое дело, то и Dispose использовать вредно.

Борланды в справке всё подробненько расписали, но "не царское это дело читать справку" у ССЗБ-н...


Инс   (2007-09-24 15:30:00) [22]

А интерфейсами лучше вообще никогда не пользоваться, там в одном из ключевых методов (QueryInterface) вообще out-параметр.


Anatoly Podgoretsky   (2007-09-24 15:23:00) [23]

В контексте сообщения отнес к себе, а оказалось я тут не причем.


Инс   (2007-09-24 15:22:00) [24]


> А кто сказал, что я Dispose использую?

А где, говоря о Dispose, я сказал " Вы"?


oxffff   (2007-09-24 15:17:00) [25]


> Anatoly Podgoretsky ©   (24.09.07 15:09) [95]
> > oxffff  (24.09.2007 15:03:32)  [92]
>
> Ты об нафиг оно нужно


:)

Вот если они сделают это на уровне языка


Anatoly Podgoretsky   (2007-09-24 15:16:00) [26]

> Инс  (24.09.2007 15:06:33)  [93]

Не боюсь, я уже давно ничего не боюсь. Выбор сделан с осознанием.
Таки и не использую.
А кто сказал, что я Dispose использую?


Anatoly Podgoretsky   (2007-09-24 15:09:00) [27]

> oxffff  (24.09.2007 15:03:32)  [92]

Ты об нафиг оно нужно


Anatoly Podgoretsky   (2007-09-24 15:08:00) [28]

> Leonid Troyanovsky  (24.09.2007 15:02:31)  [91]

Так это решение вполне квалифицированое, в рамках идеологии ООП Дельфи.


Инс   (2007-09-24 15:06:00) [29]


> Конечно нет, это же демонстрация. Да и как бы я мог это
> сделать, если я не использую FreeAndNil

Насколько я понял, вы не используете именно потому, что боитесь так сделать. Странная у вас позиция, ну не нравится вам, и не пользуйтесь. Какой тут геморой может быть, кроме того надуманного, что вы привели, я не знаю. Раз уж такое дело, то и Dispose использовать вредно. Там ведь параметр типа Pointer стоит, который на самом деле таковым быть не должен.


oxffff   (2007-09-24 15:03:00) [30]


> Вот если они сделают это на уровне языка, тогда другое дело,
>  только нафиг оно нужно


Так я именно об этом. :)


Leonid Troyanovsky   (2007-09-24 15:02:00) [31]


> Anatoly Podgoretsky ©   (24.09.07 13:56) [86]

> Просто надо решать надо иначе, через защищенное поле и контролируемое
> свойство

Я даже предлагал как-то пример подобного

http://groups.google.com/group/fido7.ru.delphi.chainik/msg/2af895b1f348cbd1?dmode=source&output=gplain

--
Regards, LVT.


Anatoly Podgoretsky   (2007-09-24 15:00:00) [32]


> Что, неужели вы в своих проектах так и делали?

Конечно нет, это же демонстрация. Да и как бы я мог это сделать, если я не использую FreeAndNil


Anatoly Podgoretsky   (2007-09-24 14:58:00) [33]

> oxffff  (24.09.2007 14:41:27)  [87]

Ну причины мы разобрали, а вот претензии остались.
Правда никто и не заставляет это использовать.
Счастье то будет в количестве строк и дополнительном геморое. Вот если они сделают это на уровне языка, тогда другое дело, только нафиг оно нужно. Пусть программист несет ответственность за свои действия.


Инс   (2007-09-24 14:46:00) [34]


> Anatoly Podgoretsky ©   (24.09.07 13:04) [81]

Что, неужели вы в своих проектах так и делали?


oxffff   (2007-09-24 14:41:00) [35]


> А основная претензия к функции, что параметр не типизированый,
>  со всем вытекающим из этого.


Так сделали они это по известным причинам, на которые вы намекали выше.
А именно, чтобы использовать в качестве параметра, любой ссылочный тип в основном Tobject и pointer. Но поскольку они не совместимы, если их передавать как var.

Им достаточно было сделать то, что я предлагаю, а именно сделать неявное приведение для ccылочных типов с простой семантикой копирования переданных как var параметр. И было бы счастье и удобство.


Anatoly Podgoretsky   (2007-09-24 13:56:00) [36]

> Leonid Troyanovsky  (24.09.2007 13:32:25)  [85]

Правильно не надо закладываться на повторное использование переменных.
Просто надо решать надо иначе, через защищенное поле и контролируемое свойство и волосы будут шелковистыми.
Это решение дешевле, чем искать проблемы, героически с ними бороться.
А основная претензия к функции, что параметр не типизированый, со всем вытекающим из этого.


Leonid Troyanovsky   (2007-09-24 13:32:00) [37]


> oxffff ©   (24.09.07 12:12) [77]

Согласен с Анатолием.

Хорошо б еще не забывать,
что ссылка может быть не единственной.

--
Regards, LVT.


Turbouser   (2007-09-24 13:30:00) [38]

> [83] Инс ©   (24.09.07 13:24)
> IncDay — хорошая функция.

=))) Был тут энтузиаст :)
Свой  incday изобрел — у EGA23 до сих пор наверное
на стене висит — бо настроение поднимать :)))


Инс   (2007-09-24 13:24:00) [39]


> Функция FreeAndNil сравни функии IncDay

IncDay - хорошая функция. Позволяет не привязываться к реализации типа TDateTime, а заодно делает код более читаемым, особенно если в нем интенсивно используются подобные IncXXX-функции.


Anatoly Podgoretsky   (2007-09-24 13:14:00) [40]

> Игорь Шевченко  (24.09.2007 13:04:20)  [80]

В гробу такую честность.


Страницы:   1 2 3 4 5 6 7

Наверх

Титульная страница Поиск, карта сайта Написать письмо