9.5. Предупреждения

На верх  Назад  Вперёд

В принципе, можно переводить все строковые ресурсы в любое время выполнения программы. Однако, эти изменения не связаны с другими строками. Изменение будет заметно только тогда, когда использована строковая константа.

Рассмотрим следующий пример:

Const
  help = 'With a little help of a programmer.';
Var
  A : AnsiString;
begin
  { lots of code }
  A:=Help;
  { Again some code}
  TranslateStrings;
  { More code }

После вызова TranslateStrings значение А останется неизменным. Это означает, что присваивание A:=Help должно быть выполнено снова для того, чтобы изменения стали заметны. Это важно, особенно программ GUI, которые имеют, например, меню. Для того, чтобы изменения в строковых ресурсах стали заметны, новые значения должны быть перегружены в программном коде меню…