Внимание: этот
раздел больше не пополняется. Все новые вопросы и ответы теперь
размещаются на форуме
ITrader
Современная, простая программа с неограниченными возможностями преобразования
времени, знаний и опыта в деньги! Бесплатный доступ ко всем финансовым рынкам,
к мировым торгам и профессиональному росту. Скачай и открой бесплатный Демо-счет!
Дистанционное обучение. Депозит от 1000 рублей. ФГ Калита-Финанс. Подробнее...
Народная мудрость: одни пользователи ПК спрашивают, а
другие пользователи ПК отвечают.
Авторские права на грамматические и орфографические ошибки полностью и всецело
принадлежат их авторам :)
***
?
Стал глючить модуль CRT в Turbo Pascal 7.0. Когда подключаешь
его, то проги не идут - пишет "ошибка 200: деление на 0",
хотя этого быть не может. Без
CRT всё работает. Переустановка не помогает. Пробовал 2 дистрибутива. Ещё неделю
назад всё нормально было.
Отвечает Eugene: Говорят, что это проблема совместимости Паскаль и процессора Celeron.
У меня проблема решилась установкой компилятора из другого дистрибутива. А вообще,
есть какой-то патч, решающий эту проблему.
Ищи в Интернете.
Отвечает adjkru: Багнутый CRT, скачай новый, в Интернете
куча информации, как убрать
встроенный CRT и заменить на внешний, пофиксенный...
Отвечает Sergei M. Komarov: Это известная проблема со старыми Борландовскими компиляторами Паскаля
и Си. Такая ошибка всегда выскакивает на компах с тактовой частотой выше 200 МГц.
В модуле CRT есть процедура, которая при запуске откомпилированной программы пытается
определить быстродействие компьютера для корректной задержки в процедуре Delay.
Для этого в течение одной секунды (по таймеру) выполняется цикл с накоплением. Затем
некая константа делится на этот накопленный результат. Полученное число используется,
как показатель быстродействия. Компилятор Турбо Паскаль 7 разрабатывался более 10
лет назад, когда тактовая частота процессоров не превышала 66
МГц. Потому для цикла
накопления использована целая переменная типа Word. Для современных процессоров
происходит переполнение, отсюда и ошибка. Лечение возможно разными путями. Самый
простой способ - замена библиотеки TURBO.TPL на исправленную версию. Если компилировать
в защищенном режиме - нужно заменить еще и TPP.TPL. Если работать с Turbo Professional,
необходимо заменить модуль TPCRT.TPU. Исправленные версии можно легко найти в сети
по ключу "TURBO.TPL".
Отвечает John: Используй Virtual Pascal или Free Pascal! Я так понял, разницы ты не увидишь а CRT глючить не будет!