12 июля 2023

Длинные строковые литералы в Delphi 12

    Строки в Delphi, можно сказать, безразмерные. Они могут занимать в памяти до 2GB и вмещать примерно 230 символов для UnicodeString, или даже 231 для AnsiString. Но для обратной совместимости у него есть строковый тип ShortString, который как классическая строка Pascal, ограничена 255 символами. Все эти годы компилятор Delphi обрабатывал строковые литералы как ShortString. Поэтому если программист в коде писал литерал из более чем 255 символов, то получал ошибку "E2056 String literals may have at most 255 elements ".
Delphi 11: [dcc32 Error] E2056 String literals may have at most 255 elements
Что бы избавиться от ошибки, такой строковый литерал необходимо было разделить на несколько отдельных литералов и объединить их, используя оператор "+". Delphi 12 снял это ограничение. Теперь длина строки литералов ограничиваться только ограничениями редактора (4K символов в строке).

Комментариев нет:

Отправить комментарий