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

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

Типизированные константы


Германн ©   (2010-11-25 01:59:00) 

Неужели их всё-таки убили?
Декларировать типизированную константу мне Д2007 не запрещает. А вот изменение ее запрещает, выдавая "Left side cannot be assigned to".
Когда это произошло?
<offtop>
Почему не поставили меня в известность!?
</offtop>
:)


Плохиш   (2010-11-26 10:26:00) [1]


> Jeer ©   (25.11.10 15:07) [12]


> Германн ©   (26.11.10 03:05) [16]

Значит у них была другая причина.


Германн   (2010-11-26 03:05:00) [2]


> Плохиш ©   (25.11.10 10:57) [8]
>

Инициализация переменных работает даже в Д4. Ниже не проверял. Нет возможности.


Германн   (2010-11-26 02:50:00) [3]


> Герману похоже надо

Не надо меня считать "семи пядей во лбу". Я всего лишь хотел быстренько проверить некую свою идею. Возможности типизированных констант вбиты в меня намертво! То что "инициализация" переменных в Дельфи уже давно осуществлена, я не знал. Или знал, но благополучно забыл не имея практики.


KSergey   (2010-11-25 15:39:00) [4]

А что, нормальных статических переменных внутри функци так и не придумали? :(
Впрочем, есть же объекты для этого. Хотя стат. переменные иногда приятнее, да :)


Inovet   (2010-11-25 15:29:00) [5]

> [12] Jeer ©   (25.11.10 15:07)
> Если так уж хочется, можно считать их "переменными константами":)

Герману похоже надо локальную переменную не в стеке разместить, а в статичес кой памяти, чтобы значение между вызовами функции сохранялось. А, герман?


Jeer   (2010-11-25 15:07:00) [6]

Инициализация переменных прекрасно работает и в D7.
Если так уж хочется, можно считать их "переменными константами" :)


Германн   (2010-11-25 14:52:00) [7]


> sniknik ©   (25.11.10 08:50) [6]


> там ее и нужно описывать, в переменных, с начальным значением
> если нужно.

О сколько нам открытий чудных готовит ...
А я и не знал, что так сейчас можно делать.


Inovet   (2010-11-25 14:30:00) [8]

> [6] sniknik ©   (25.11.10 08:50)
> что это за константа значение которой можно менять?

Это аналог static в Си++ - другого способа в Делфи не предусмотрели.
Вчера пытался найти ветку где с Антоном этой темы касались, но сразу не нашлась, и не стал продолжать.


Плохиш   (2010-11-25 10:58:00) [9]

или, точнее, после д7. там вроде ешё какая-то версия была.


Плохиш   (2010-11-25 10:57:00) [10]


> Германн ©   (25.11.10 01:59)
>
> Неужели их всё-таки убили?
> Декларировать типизированную константу мне Д2007 не запрещает.
>  А вот изменение ее запрещает, выдавая "Left side cannot
> be assigned to".
> Когда это произошло?

В д2006 ввели инициализацию переменных и по-умолчанию сделали константы r/o


Anatoly Podgoretsky   (2010-11-25 09:33:00) [11]

Это особая константа, гордость Борланда, больше ни у кого нет.


sniknik   (2010-11-25 08:50:00) [12]

что это за константа значение которой можно менять? это переменная, там ее и нужно описывать, в переменных, с начальным значением если нужно.
т.е. писать правильно/логично, тогда и не нужно будет "гайки подкручивать".


Германн   (2010-11-25 05:48:00) [13]


> MBo ©   (25.11.10 05:36) [3]
>
> $J

Точно. Спасибо, Борис.
А ведь когда-то об этом читал. :(


Inovet   (2010-11-25 05:42:00) [14]

Включить перед декларацией, и отключить после.


MBo   (2010-11-25 05:36:00) [15]

$J
Assignable typed constants в Project-Options-Compiler options


Германн   (2010-11-25 02:32:00) [16]


> DiamondShark ©   (25.11.10 02:11) [1]
>
> Вроде, гайка в настройках компилятора есть.

Где?
Обыскал все настройки - ничего не нашел.


DiamondShark   (2010-11-25 02:11:00) [17]

Вроде, гайка в настройках компилятора есть.


Наверх

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