| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Какая-то странная ошибка при компиляции |
| Автор: DarkProg 8.12.2009, 23:04 |
| [DCC Fatal Error] Unit1.pas(709): F2069 Line too long (more than 1023 characters) Ошибка появляется в CodeGear RAD Studio при компиляции - в переводе значит что файл слишком длинный, но я никогда тако ошибки не видел, сколько я не писал в Delphi, но такого не было(я всего полгода на RAD Studio, а до этого был на Delphi 7) Вроде ограничения на размер файла с программным кодом не было. Подскажите кто знает как с этой бедой бороться, только у меньшить код даже не предлогайте, т.к. компактней уже некуда и не отправляйте к справочной системе - её у меня просто нет |
| Автор: ~FoX~ 8.12.2009, 23:50 |
В переводе значить что линия(строка) слишком длинная...(больше 1023 символов) и лежит ошибка в Unit1.pas (709 строка) |
| Автор: Данкинг 8.12.2009, 23:50 |
| Так посмотри, что там на строке 709 такое. |
| Автор: DarkProg 9.12.2009, 11:58 | ||||
В строке написано
Поясняю данная строка находится OnFormCreate Ну она существует на случай, чтобы все ненужные панели были скрыты (panAboutProg - это панель из TMS Component Pack 5.1.0.0, она выглядит весьма красиво, просто в проге нужен ещё и красивый инерфейс помимо функциональности) На панели только оди компонент - RichText и всё.
Кстати а какие строки считать бажными???? |
| Автор: profesiachuvak 9.12.2009, 12:33 | ||||
Проверь правее этой записи, скролом вправо пролистай, может какой-нибудь символ оставил случайно. |
| Автор: CodeMonkey 9.12.2009, 14:10 |
| Файлик сюда выложи. |
| Автор: Teleport 9.12.2009, 14:12 |
| У меня такая ерунда была. Что не действует: - удаление длинной строки или попытка удаления символов вручную в редакторе кода в делфи - вот сколько не бился не помагало и все равно эта ошибка выскакивала. Что подействовало: - открыл в редакторе NotePad++ - там выделил все и нажал преобразовать в Unix формат, затем все выделенное преобразовал заново в Win формат. Если не поможет - предлагаю выложить исходник сюда. Думаю, что найдем решение - примерно такое, как я указал. Эти вредные символы в самом редакторе кода Делфи мне не удавалось ни увидеть, ни удалить. |
| Автор: DarkProg 9.12.2009, 22:03 |
| Teleport, не помогает, может я чего не так делаю открываю в NotePad++ нажимаю "преобразовать в UTF" потом нажимаю "пробразовать в ANSI" и ничего - опять таже ошибка я составил простенкую прогу по поиску непечатаемых символов - это ведь насколько я знаю все символы порядковый номер которого меньше 32 нашёл только те которые относятся к символу перехода на новую строку И ещё я убрал тот кусочек кода который дописал вчера, ну собственно после которого это и появилось, ну я его вырезал в блокнот, на удивление файл компилируется, но кусок кода который я писал находится в самом начале файла, а ошибка на 700ой строчке Как такое возможно???? |
| Автор: Keeper89 9.12.2009, 23:23 |
| Может все-таки выложить кусочек кода? |
| Автор: Teleport 10.12.2009, 01:25 |
| 2 DarkProg - выкладывай исходники сюда - я гляну. Все глянут. И поправим что-нибудь там нехорошее. |
| Автор: DarkProg 10.12.2009, 10:02 |
| Я выложить могу только pas-файл я не могу весь проект, иначе меня заказчик угробит :( |
| Автор: DarkProg 10.12.2009, 10:03 |
| Сделайте что-нибудь с ним и выложите, а я попробую скомпилировать, только не выкладывайте пустой файл |
| Автор: ~FoX~ 10.12.2009, 10:36 |
| Держи, должно помочь |
| Автор: ~FoX~ 10.12.2009, 10:37 |
| Разница в 2 байта |
| Автор: DarkProg 10.12.2009, 22:11 |
| ~FoX~ , прости но ты бы не мог повторить тоже самое с этим файлом, я не тот выложил - это был мой пробный вариант Я теперь выложу то что нужно, я просто папки перепутал :((((((( |
| Автор: ~FoX~ 11.12.2009, 11:43 |
| Бывает ))))) Дериж |
| Автор: Beltar 11.12.2009, 11:54 |
| Посмотрел исходник, и вот что скажу, оформление менять радикально. Во-первых, эти разрывы вставленные в строки надо убирать, вместо них лучше меткам WordWrap включить. На компьютере с другим оформлением все поедет. Во-вторых, за линию 80 символов лучше не выходить, даже если монитор большой. Может придется печатать код, да и редактор с непомещающимися на экран строками криво себя ведет. Длинные строки просто склеить плюсами. |
| Автор: DarkProg 11.12.2009, 16:38 |
| Beltar не поедет у меня два компа с разными ОС и разным оформлением, я всегда тестирую на своих двух потом ещё какие-нибудь нахожу и на них тестирую прогу |
| Автор: DarkProg 11.12.2009, 20:05 |
| ~FoX~, не помогло у тебя получился такой же файл как я и выложил(по размеру) Есть идеи что ещё делать???? Может что-нибудь ещё попробуешь, а то я просто не знаю что делать :( |
| Автор: Teleport 12.12.2009, 12:47 | ||
| 2 DarkProg - а ну-ка глянь-ка мою версию. Насколько я понял - проблема была со 121-ой строки -
|
| Автор: DarkProg 12.12.2009, 23:06 |
| Спасибо Teleport твоя версия прокатила Спасибо и тебе ~FoX~, за помощь Что ты сделал ????? ТЫ просто разбил 121 стоку или ещё что-то???? Да и ещё компилятор, ну после того как я переставлял местами строчки и т.д. стал выдавать ошибку всё в том же FormCreate, но на 120 строке, но не на 121, как такое может быть если раньше компилятор не видел дальше 120????? |
| Автор: Teleport 13.12.2009, 14:23 |
| 2 DarkProg - ну вот и замечательно Смотри - 1) берешь NotePad++ - открываешь свой файл. 2) нажимаешь там Вид - все символы. 3) Вид - показывать символ перевода строки. 4) Смотришь на свою 121-ую строку - играешь со значением Вид - перенос строк. Тут ты сразу видишь - почему делфи ругался так. 5) Запоминаешь - что нормальный перевод строки в NotePad++ - отображается как CRLF - невидимый символ. 6) Вобщем, я посмотрел в таком режиме, потом нажимаешь - Правка - выделить все. Далее - Разбить строки. 7) ну и плюс - чуток дописать в некоторые разбитые строки - у тебя же тип String - надо же его правильно перенести на другие строки - нну + да ' дописать. Думаю, что понятно тут все скинь сюда свой файл, в котором в 120-ой выдает ошибку. И напиши текст самой ошибки. |
| Автор: DarkProg 13.12.2009, 21:08 |
| Дело в том что ошибка раньше возникала на 120 строке, а ты исправил 121 и ошибка исчезла у меня возникает вопрос "Почему?", ведь раньше если я даже специально делал ошибку в следующей строке компилятор её не видел и выдавал только ошибку только на 120, вот так Вот и вопрос "Почему?" Есть идеи??? |
| Автор: ~FoX~ 13.12.2009, 21:23 |
| DarkProg, Потому что первые проверяются ошибки синтаксиса, потом логика, потом возвращаются ошибки невозможности компилирования или исполнения... набрал бы на 71 строке sdfgsdfgsdfg |
| Автор: Teleport 13.12.2009, 21:39 |
| 2 DarkProg - да, синтаксические первые проверяются. В 120-ой строке я не вижу ошибок |
| Автор: DarkProg 13.12.2009, 21:42 |
| Ладно запишем этот трюк в "Шутки и выпендрёжи Delphi" |