Ошибка DosError=123 выдаваемая IDE

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ошибка DosError=123 выдаваемая IDE

Сообщение tovit » 25.12.2017 22:46:30

Снёс старую версию. Скачал и установил новую 3.0.4.
Вроде всё как обычно.
Но при первом же запуске столкнулся с проблемой.
Компилирую программу и запускаю на выполнение.
Выдаётся окошко с ошибкой:

program xxx.exe
not run
DosError - 123

Где - xxx.exe - exe-файл, сгенерированный на основе моего исходника xxx.pas.
Что интересно, exe-файл всё же генерируется и при его запуске вне интегрированной среды нормально выполняется.
Т.е. делаю вывод, что ошибка связана с самой IDE, с её настройками.
В документации не нашёл описания ошибки 123.

Прошу помочь разобраться.
tovit
незнакомец
 
Сообщения: 5
Зарегистрирован: 11.09.2011 14:17:29

Re: Ошибка DosError=123 выдаваемая IDE

Сообщение Сквозняк » 26.12.2017 00:16:18

123. Too many symbols (слишком много символов)

Программа или модуль объявляет более 64К символов. Если
программа или модуль компилируется с опцией {$D+}, то попробуйте ее
выключить - заметим, однако, что это будет препятствовать
нахождению ошибок выполнения в этом модуле. В противном
случае, можно попробовать переместить несколько объявлений в
отдельный модуль.

У тебя в настройках наверно диалект турбопаскалевский установлен, а когда компилируешь из под командной строки, используется fpc диалект, он почти такой-же но нет проблем с доступом к большим ресурсам, как в оригинальных турбо/болландпаскалях. Поищи в настройках диалект используемого паскаля, или установи в начале программы "счастливую комбинацию" директив компилятора:
Код: Выделить всё
{$GOTO ON}
{$mode fpc}
{$R+}
Сквозняк
энтузиаст
 
Сообщения: 614
Зарегистрирован: 29.06.2006 22:08:32

Re: Ошибка DosError=123 выдаваемая IDE

Сообщение tovit » 26.12.2017 01:11:18

Спасибо, что откликнулся..
попробовал по твоему совету. увы, не помогло.
попробовал все допустимые сочетания ключей компиляции - бес толку..
компиляция - не из командной строки, а из IDE. компиляция из командной строки проходит нормально. Как я понимаю, ошибка связана именно с IDE.
Насчёт "слишком много символов"..
Да я уже пытался совсем простое сделать - "program xxx; begin end."
чую, что дело в какой-то ерунде, но никак не пойму, в чём дело.
ведь в предыдущей версии всё было норм. а тут установил 3.0.4 - и не работает.
впору IDE не пользоваться..
не знаю, что делать.
tovit
незнакомец
 
Сообщения: 5
Зарегистрирован: 11.09.2011 14:17:29

Re: Ошибка DosError=123 выдаваемая IDE

Сообщение Сквозняк » 26.12.2017 06:01:14

Если дело в настройках ИДЕ, то надо создать в каталоге предыдущей версией ИДЕ рабочую програмку, скомпилировать, запустить и выйти чтобы в каталоге сохранились конфиги со всеми настройками. После установить ИДЕ 3.0.4, зайти в каталог и открыть ей тот файл чтобы подхватились старые конфиги со всеми настройками. Если не поможет, то наверно дело в самой версии fpc-3.0.4 В линуксе с этой версией проблемы сплошные: линковать собранные бинарники не хочет, требует самую новую версию линковщика, а она не везде есть. Потом конечно линковщик нужной версии везде везде будет, но не сейчас. А вин32 версия ИДЕ у меня в эмуляторе вообще не запускается (как и линуксовый лазарус, собранный 3.0.4 версией компилятора) - валится с ошибкой. Так что проверить настройки виндовой ИДЕ пока не могу. Может на десятке, она и работает, но где та десятка :mrgreen: Дата у файла ld.exe 2012 года, потому, логично предположить что компилятор работающий из командной строки, линкует бинарники по старому формату, а в ИДЕ могло что-то из нового просочиться - его тестировать должны были реже, в то время резко пилили лазарус, внедряли новую версию компилятора. У бет лазаруса был компилятор 3.0.2 а у релиза - сразу 3.0.4, куда спешили с релизом, неясно.

Если не работает что надо на версии 3.0.4, проще пока посидеть на версии 3.0.2, она сверхновый линковщик не требует, пока версии ОС не подтянутся до требований 3.0.4 или в следующей версии не починят виндовую ИДЕ.
Сквозняк
энтузиаст
 
Сообщения: 614
Зарегистрирован: 29.06.2006 22:08:32

Re: Ошибка DosError=123 выдаваемая IDE

Сообщение tovit » 13.01.2018 22:42:30

Проблема устранена.
Причём не мной, но само собой.
Вообще, история непонятная.
Стоит начать с того, что ошибки DosError с кодом 123 во FreePascal вообще нет. Или, по крайней мере, она не документирована.
В TurboPascal была такая ошибка, слишком много переменных, а во FreePascal нет.
Пробовал установить версию 2.6.4. Результат тот же.
Любой файл, даже такой наипростейший как: program x; begin end. выполнялся из под TextIDE с ошибкой 123.
Но при запуске exe-файла помимо IDE всё было нормально.
Были проверены конфигурационные файлы, переменные окружения, никаких подозрений..
Но в это время я решил устранить давно имевшиеся проблемы. И вовсе не с FreePascal.
У меня были напрасно установлены драйверы звуковой карты (бортовая звуковая карта не работает, поэтому звука в принципе нет и драйверы не нужны) и была неисправна мышь.
Я удалил драйвера звуковой карты. Дошёл до компьютерного магазина и купил новую мышь.
В очередной раз включив комп, запустил (уже без надежды) Free Pascal и, о чудо, сообщение об ошибке DosError -= 123 исчезло.
Конечно, я бесконечно рад, хотя так и не понял, а в чём же было дело...
tovit
незнакомец
 
Сообщения: 5
Зарегистрирован: 11.09.2011 14:17:29

Re: Ошибка DosError=123 выдаваемая IDE

Сообщение Cheb » 14.01.2018 01:00:09

и была неисправна мышь.

Проверь, реально ли та мышь неисправна, или не тянет блок питания и USB проседает по напряжению.
В последнем случае из ниоткуда случаются ТАКИЕ глюки, что я навсегда зарёкся экономить на БП и беру всегда с двухкратным запасом.
Такая тривиальная вещь, а на стабильность машины ОЧЕНЬ сильно влияет. При нестабильномм питании могут и зелёные человечки полезть.
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 630
Зарегистрирован: 06.06.2005 15:54:34

Re: Ошибка DosError=123 выдаваемая IDE

Сообщение Сквозняк » 14.01.2018 18:44:23

Если у тебя процессор Штеуд (интел) и автообновления не выключены, то могла прилететь заплатка от недавно обнародованной уязвимости процессора, которая кроме проседания скорости должна была ещё на что-то повлиять. Штеудовцы халтурно проверяли кэш процессора и на этом получали прирост скорости.
Сквозняк
энтузиаст
 
Сообщения: 614
Зарегистрирован: 29.06.2006 22:08:32


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru