![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
Всем привет!
Я уже неоднократно сталкивался с кодом вроде этого:
D7. Если этот код полная чушь, на что у меня есть подозрения, то посоветуйте наиболее Объектно-ориентированный подход к шаблону Singleton. Я использую переменную, объявленную после implementation. -------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
Immortal |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 15.8.2003 Репутация: нет Всего: нет |
Ну как ты можешь создавать TSomeClass в константе, да и код
абсолютно не актуален зачем проверать на нулевое значение, если константа instance будет всегда nil, на то она и константа ![]() |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Насчет констант: если у константы объявлен тип, то она является обычной переменной, только в неё писать ничего нельзя обычным :=
Вот пример:
Даже если x является локальной, все равно получитя так: при первом клике выдаст 1 и 2 при втором 2 и 3 при третьем 3 и 4 и т.д. Т.е. начальное значение не восстанавливается, что, по-моему, тебе и надо. Так что, твой код почти нормальный, только странно, что в константу пишется обычным присвоением... Может и правда, где-то можно разрешить изменение констант какой-нибудь директивой ? -------------------- С уважением, г-н Посол. |
|||
|
||||
p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
А и правда, есть директива {$J+} или Project->Options->Compiler->Assignable Typed Constants !
Так что в примере выше можно было писать x := x + 1 или Inc(x) ! -------------------- С уважением, г-н Посол. |
|||
|
||||
altarasjuk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 331 Регистрация: 7.5.2003 Где: Харьков Репутация: 1 Всего: 1 |
Immortal, я ж говорю - это не мой код, если я вспомню ссылку на тот код - дам её. А вот собственно она - Singleton a это цитата с этой странички...
p0s0l, спасибо ![]() ![]() -------------------- Правда - изобретение маньяков: колет глаза и режет уши. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |