Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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)

Вроде ограничения на размер файла с программным кодом не было.

Подскажите кто знает как с этой бедой бороться, только у меньшить код даже не предлогайте, т.к. компактней уже некуда и не отправляйте к справочной системе - её у меня просто нет

Автор: Демо 8.12.2009, 23:32
Цитата(DarkProg @  8.12.2009,  23:04 Найти цитируемый пост)
Подскажите кто знает как с этой бедой бороться, только у меньшить код даже не предлогайте, т.к. компактней уже некуда и не отправляйте к справочной системе - её у меня просто нет


Проверь все файлы в прокте на предмет наличия бажных строк.

Автор: ~FoX~ 8.12.2009, 23:50
Цитата(DarkProg @  9.12.2009,  00:04 Найти цитируемый пост)
в переводе значит что файл слишком длинный,

В переводе значить что линия(строка) слишком длинная...(больше 1023 символов) и лежит ошибка в Unit1.pas (709 строка)

Автор: Данкинг 8.12.2009, 23:50
Так посмотри, что там на строке 709 такое.

Автор: DarkProg 9.12.2009, 11:58
В строке написано 
Код

 panAboutProg.visible:=false;


Поясняю данная строка находится OnFormCreate
Ну она существует на случай, чтобы все ненужные панели были скрыты (panAboutProg - это панель из TMS Component Pack 5.1.0.0, она выглядит весьма красиво, просто в проге нужен ещё и красивый инерфейс помимо функциональности)
На панели только оди компонент - RichText и всё.

Цитата

Проверь все файлы в прокте на предмет наличия бажных строк. 


Кстати а какие строки считать бажными????

Автор: profesiachuvak 9.12.2009, 12:33
Цитата(DarkProg @ 9.12.2009,  11:58)
В строке написано 
Код

 panAboutProg.visible:=false;


Проверь правее этой записи, скролом вправо пролистай, может какой-нибудь символ оставил случайно.

Автор: CodeMonkey 9.12.2009, 14:10
Файлик сюда выложи.

Автор: Teleport 9.12.2009, 14:12
У меня такая ерунда была.  smile  С исходниками к книге Краснова про OpenGl. Какие-то невидимые символы сбивают с толку компилятор. Как избавится? 
Что не действует:
- удаление длинной строки или попытка удаления символов вручную в редакторе кода в делфи - вот сколько не бился не помагало и  все равно эта ошибка выскакивала.

Что подействовало:
- открыл в редакторе 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 - выкладывай исходники сюда - я гляну. Все глянут. И поправим что-нибудь там нехорошее.  smile  И расскажем как  smile 

Автор: DarkProg 10.12.2009, 10:02
Я выложить могу только pas-файл я не могу весь проект, иначе меня заказчик угробит :(

Автор: DarkProg 10.12.2009, 10:03
Сделайте что-нибудь с ним и выложите, а я попробую скомпилировать, только не выкладывайте пустой файл smile 

Автор: ~FoX~ 10.12.2009, 10:36
Держи, должно помочь

Автор: ~FoX~ 10.12.2009, 10:37
Разница в 2 байта   smile 

Автор: 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 не поедет у меня два компа с разными ОС и разным оформлением, я всегда тестирую на своих двух потом ещё какие-нибудь нахожу и на них тестирую  прогу smile

Автор: DarkProg 11.12.2009, 20:05
~FoX~, не помогло у тебя получился такой же файл как я и выложил(по размеру)

Есть идеи что ещё делать????

Может что-нибудь ещё попробуешь, а то я просто не знаю что делать :(

Автор: Teleport 12.12.2009, 12:47
2 DarkProg - а ну-ка глянь-ка мою версию.
Насколько я понял - проблема была со 121-ой строки - 
Код

labPunkt1.Caption.Text:='1. Определения используемые

Автор: DarkProg 12.12.2009, 23:06
 smile  smile  smile  smile  smile 

 smile  smile  smile  smile  smile 
 smile  smile  smile  smile  smile 
 smile  smile  smile  smile


Спасибо Teleport твоя версия прокатила

Спасибо и тебе ~FoX~, за помощь

Что ты сделал ?????

ТЫ просто разбил 121 стоку или ещё что-то????

Да и ещё компилятор, ну после того как я переставлял местами строчки и т.д. стал выдавать ошибку всё в том же FormCreate, но на 120 строке, но не на 121, как такое может быть если раньше компилятор не видел дальше 120?????

Автор: Teleport 13.12.2009, 14:23
2 DarkProg - ну вот и замечательно  smile.
Смотри - 
1) берешь NotePad++ - открываешь свой файл.
2) нажимаешь там Вид - все символы.
3) Вид - показывать символ перевода строки.
4) Смотришь на свою 121-ую строку - играешь со значением Вид - перенос строк. Тут ты сразу видишь - почему делфи ругался так.  smile 
5) Запоминаешь - что нормальный перевод строки в NotePad++ - отображается как CRLF - невидимый символ.

6) Вобщем, я посмотрел в таком режиме, потом нажимаешь - Правка - выделить все. Далее - Разбить  строки. 
7) ну и плюс - чуток дописать в некоторые разбитые строки  - у тебя же тип String - надо же его правильно перенести на другие строки - нну + да ' дописать. 
Думаю, что понятно тут все  smile 

скинь сюда свой файл, в котором в 120-ой выдает ошибку. И напиши текст самой ошибки.

Автор: DarkProg 13.12.2009, 21:08
Дело в том что ошибка раньше возникала на 120 строке, а ты исправил 121 и ошибка исчезла у меня возникает вопрос "Почему?", ведь раньше если я даже специально делал ошибку в следующей строке компилятор её не видел и выдавал только ошибку только на 120, вот так  smile

Вот и вопрос "Почему?" Есть идеи???


Автор: ~FoX~ 13.12.2009, 21:23
DarkProg, Потому что первые проверяются ошибки синтаксиса, потом логика, потом возвращаются ошибки невозможности компилирования или исполнения... набрал бы на 71 строке sdfgsdfgsdfg

Автор: Teleport 13.12.2009, 21:39
2 DarkProg - да, синтаксические первые проверяются. В 120-ой строке я не вижу ошибок smile  - не углядю никак. Единственной ошибкой была длинная строка 121.

Автор: DarkProg 13.12.2009, 21:42
Ладно запишем этот трюк в "Шутки и выпендрёжи Delphi"  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)