Можно ли изменять значения типизированных констант в Delphi
Правильно ли я понимаю, что изменять значение типизированной константы можно только если скорректировать настройки компилятора(или использовать директивы)?
Ответы (1 шт):
Автор решения: Alekcvp
→ Ссылка
Можно, для этого есть три варианта.
Первый: в настройках компилятора включить writable constants.
Второй, полезный для хранения всяких настроек:
unit settings;
interface
const
AppSettings: TSettringsRec = ({тут значения по умолчанию});
implementation
var
LAppSettings: TSettringsRec absolute AppSettings;
// тут можно писать в переменную LAppSettings, а всё остальное приложение будет
// читать из константы AppSettings.
(*) возможно этот вариант будет работать не во всех версиях Delphi.
Третий - это хак и к использованию не рекомендуется:
type
PDate = ^Date;
....
PDate(@day)^.First := 7;
