Типизированные константы, как с ними бороться?

Delphi ошибка типизированные константы

Язык: Delphi 7
Имеется типизированная константа описанная следующим образом:

const
LANG_RU=$00
LANG_UA=$01
const
Lang: word=LANG_RU;

В тексте програмы я меняю значение этой типизированной константы на LANG_UA.
При компиляции программы на строке Lang:=LANG_UA вылетает следующая ошибка:

[Error] UnitName.pas(234): Left side cannot be assigned to

Ошибки начали появляться после того как я создал новое прилодение на основе класса уже работающей программы. Причем программа (программа-родитель) до этого работала и работает исправно и никаких ошибок в этом месте не выдает.
Обясните пожалуйста как с этим бороться? Или хотябы в каком направлении копать...
Ответы:
Вообще-то довольно плохо, что вы пытаетесь писать что-то в константы. В древних компиляторах языка Pascal такое прокатывало, в Delphi это зависит от настроек компилятора и по умолчанию запрещено (в свойствах проекта на вкладке, где что-то про компилятор поищите галочку типа Writeable typed constants или что-то вроде того; по памяти пишу, Delphi у меня давно нет). Но грамотнее и гораздо лучше будет использовать вместо этого глобальную переменную. Объявляется, помнится, аналогично:


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.