![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FreeAndNil
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]
В гробу такую честность.