Вопросы программирования на Free Pascal, использования компилятора и утилит.
Модератор: Модераторы
coyot.rush
постоялец
Сообщения: 309 Зарегистрирован: 14.08.2009 08:59:48
Сообщение
coyot.rush » 12.09.2011 20:54:27
Код: Выделить всё
Error: Constant strings can't be longer than 255 charsПри попытке использовать строковую константу длиной более 255 символов.
Варианты решения
1)
A single string constant can contain at most 255 chars. Try splitting up the string into multiple smaller parts and concatenate them with a + operator.
http://www.freepascal.org/docs-html/user/userse61.html Использовать +.
2)
Хочется записывать длинную строку без использования +. Можно ли такое осуществить в fpc ? Есть ли специальные директивы компиляции?
Сквозняк
энтузиаст
Сообщения: 1159 Зарегистрирован: 29.06.2006 22:08:32
Сообщение
Сквозняк » 12.09.2011 23:55:38
Бедные редакторы, они ведь тоже на исходники с короткими строками заточены. Да и компилятор потеряет скорость если станет компилировать ansistring.
Есть ли специальные директивы компиляции?
Справка fpc в консоле ничего подходящего не показывает, трудно искать чёрную кошку в тёмной комнате.
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409 Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград
Сообщение
Sergei I. Gorelkin » 13.09.2011 00:24:58
Ограничение на длину строковой константы распространяется вроде только на режим {$H-}. Но есть ограничение в 255 символов на длину строки исходного файла, так что длинные константы так или иначе придется писать в несколько строк и соединять плюсами. Директив нет.
Ask
постоялец
Сообщения: 163 Зарегистрирован: 25.12.2008 02:51:37
Сообщение
Ask » 13.09.2011 10:15:15
В trunk'е этой проблемы уже нет
coyot.rush
постоялец
Сообщения: 309 Зарегистрирован: 14.08.2009 08:59:48
Сообщение
coyot.rush » 13.09.2011 21:23:00
Часть файла main.mfm (на форме tmemoedit ):
Код: Выделить всё
object tmemoedit1: tmemoedit frame.localprops = [frl_colorclient] taborder = 10 bounds_x = 8 bounds_y = 160 bounds_cx = 516 bounds_cy = 245 value = '01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789' endСтрока больше 255 символов и всё прекрасно компилируется
Brainenjii
энтузиаст
Сообщения: 1351 Зарегистрирован: 10.05.2007 00:04:46
Сообщение
Brainenjii » 14.09.2011 07:55:59
В лазарусе есть возможность создать строку ресурсов - в этом случае плюсики появятся автоматически