Исследования показывают, что эта проблема возникает только в Windows XP.Также ошибка не возникает, когда в Windows XP есть настройки локали для определенного языка.Проблема, кажется, в RichEd32.dll, который поставляется с этой версией Windows.VCL (библиотека визуальных компонентов, используемая C ++ Builder и Delphi) завершается ошибкой, когда первый символ строки текста, добавляемой в элемент управления TRichText, является экранированным символом.Решение состоит в том, чтобы использовать следующий код для добавления строки:
AnsiString TextToAdd;
TextToAdd = "пример"; // Russian text 'example'
RichEdit1->SelStart = RichEdit1->Text.Length();
RichEdit1->SelText = TextToAdd + "\r\n";
Вместо:
RichEdit1->Lines->Add( TextToAdd );
На самом деле это нужно сделать только один раз.После добавления текста в любой элемент управления RichEdit в приложении все последующие вызовы Lines-> Add () будут работать без исключения.