powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Инициализация полей структурных констант по умолчанию
24 сообщений из 49, страница 2 из 2
Инициализация полей структурных констант по умолчанию
    #40101933
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Странно, этого я не нашел (6-я версия).

Эта фраза есть даже в мануале по Delphi 5. Ссылку не дам, он у меня бумажный (страница 5-41)

Вот ссылка на актуальную доку: https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Declared_Constants#Record_Constants

YuRock
Зачем тогда вообще такое разрешать? Кидал бы ошибку компилятор, да и всё.

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

p.s. FPC генерирует ворнинг на пропущенные поля.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40101975
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К слову:

YuRock> задача такова, что нужно сделать огромный
YuRock> константный массив структур, ....
YuRock> Конкретнее - это дерево настроек
YuRock> (коих тысячи, с разными типами, свойствами и ограничениями).

Вынеси их во внешний источник - файл, БД и т.д.
В коде этому в любом случае не место.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102027
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
К слову:

YuRock> задача такова, что нужно сделать огромный
YuRock> константный массив структур, ....
YuRock> Конкретнее - это дерево настроек
YuRock> (коих тысячи, с разными типами, свойствами и ограничениями).

Вынеси их во внешний источник - файл, БД и т.д.
В коде этому в любом случае не место.
Они и есть в БД :))
Описания в смысле?
Не согласен. Этот массив нужен только для окна настроек, там ему и место. И добавление новой нужно будет теперь с него начинать.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102028
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис
YuRock
Этот пример иллюстрирует только то, что у типизированных констант есть постоянный адрес, как у глобальных переменных. Не более того.
Этот пример иллюстрируют то, что они не в стеке, а в области данных. А она изначально всегда обнулена.
Убедили, буду пропускать :)
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102039
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Убедили, буду пропускать :)
А потом "мы тут заоптимизировали и изменили размещение локальных констант"
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102042
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
YuRock
Убедили, буду пропускать :)
А потом "мы тут заоптимизировали и изменили размещение локальных констант"
Одна из причин - я не планирую переводить этот проект на новые версии дельфей.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102044
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
YuRock
Убедили, буду пропускать :)
А потом "мы тут заоптимизировали и изменили размещение локальных констант"
Я не думаю что они до такой степени идиоты, чтобы ломать гору работающего кода.
А если до такой - надо задуматься о том, стоит ли продолжать с ними работу.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102045
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
_Vasilisk_
пропущено...
А потом "мы тут заоптимизировали и изменили размещение локальных констант"
Одна из причин - я не планирую переводить этот проект на новые версии дельфей .
все так говорят
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102046
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис
_Vasilisk_
пропущено...
А потом "мы тут заоптимизировали и изменили размещение локальных констант"
Я не думаю что они до такой степени идиоты, чтобы ломать гору работающего кода.
А если до такой - надо задуматься о том, стоит ли продолжать с ними работу .
а с индюками + опен ССЛ работал?
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102048
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий, да.
Но давно.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102062
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
YuRock
пропущено...
Одна из причин - я не планирую переводить этот проект на новые версии дельфей .
все так говорят
Ну разве что МС отключит поддержку x86-программ, а я к тому времени еще буду жив и не уйду на пенсию, и в тот момент решу не уходить.
В общем, причин для перехода должно быть не мало.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102065
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock> Ну разве что МС отключит поддержку x86-программ

Так уже же вроде (то ли в 11, то ли ХЗ).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102069
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
Так уже же вроде (то ли в 11, то ли ХЗ).
Та не, там даже делфи7 работает без проблем. Проверено Дефекатором.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102071
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да? Простите. Слышал звон, не проверил.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102167
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис
Я не думаю что они до такой степени идиоты, чтобы ломать гору работающего кода.
А если до такой - надо задуматься о том, стоит ли продолжать с ними работу.
Работу implementation поломали в XE3, время жизни переменных поломали сейчас. Кто-то еще на что-то надеется?
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102174
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
время жизни переменных поломали сейчас

Не поломали, а сделали, наконец, логичным.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102181
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Не поломали, а сделали, наконец, логичным.
Ну вот и типизированные константы сделают логичными.

А на совместимость - пофиг
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102182
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Ну вот и типизированные константы сделают логичными.

Они уже.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102185
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Они уже.
Локальные константы в глобальной памяти?
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102187
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Локальные константы в глобальной памяти?

По идее, константы вообще могут не иметь физического воплощения, и то что имеем сейчас это сугубо интимные дела компилятора и таки забота об обратной совместимости.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102190
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
По идее, константы вообще могут не иметь физического воплощения
Вот. Это правильная мысль.
Kazantsev Alexey
и таки забота об обратной совместимости.
По сравнению со всем остальным (тот же юникодовский string) это больше похоже на "не дошли руки"
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102192
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
По сравнению со всем остальным (тот же юникодовский string) это больше похоже на "не дошли руки"

Не, обратная совместимость:
https://docwiki.embarcadero.com/RADStudio/Sydney/en/Writeable_typed_constants_(Delphi)In early versions of Delphi and Object Pascal, typed constants were always writeable, corresponding to the {$J+} state. Old source code that uses writeable typed constants must be compiled in the {$J+} state, but for new applications it is recommended that you use initialized variables and compile your code in the {$J-} state.
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102203
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Так можно было бы при {$J-} делать pure-константы
...
Рейтинг: 0 / 0
Инициализация полей структурных констант по умолчанию
    #40102209
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Так можно было бы при {$J-} делать pure-константы

Это усложняет логику работы компилятора, да и нет в этом большого смыла. А вот получать адрес типизированных констант в этом режиме стоило бы запретить.
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Инициализация полей структурных констант по умолчанию
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]