Имейте в виду, что этот шаблон синглтона работает только в однопоточных средах. Поскольку глобальная память, используемая записываемым const, распределяется между потоками, это может привести к состязаниям (наткнулся на это со сторонними компонентами).
пировал некоторый код Delphi из одного проекта в другой и обнаружил, что он не компилируется в новом проекте, хотя в старом. Код выглядит примерно так:
procedure TForm1.CalculateGP(..)
const
Price : money = 0;
begin
...
Price := 1.0;
...
end;
Таким образом, в новом проекте Delphi жалуется, что «левая сторона не может быть назначена» - понятно! Но этот код компилируется в старом проекте. Итак, мой вопрос,Почему? Есть ли переключатель компилятора, позволяющий переназначать констант? Как это вообще работает? Я думал, что conts были заменены их значения во время компиляции?