Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];

Вниз

В TurboPaskal при подключении CRT ошибка деления на 0   Найти похожие ветки 

 
Antalex   (2002-03-28 19:54) [0]

В TurboPaskal при подключении CRT возникает ошибка деления на 0. Причину знаю - а как избавиться?


 
Keymaster   (2002-03-28 20:09) [1]

Прям вот просто так и возникает?


 
Shaman_Naydak   (2002-03-28 20:10) [2]

Если программа твоя, то можно подправить CRT модуль и перекомпилить приложение (я сам так сделал в свое время)..
Если работа со временем не нужна (Sleep), то можно просто увеличить делитель в exe-шнике, чтобы обойти..
Я когда-то хотел написать заплатку, но никак руки не дошли :(
В общем, сообщи насколько дружен с ассеблером, и соответственно могу дать более подробные инструкции / могу выслать подправленный crt и прочее.. в общем, пишите письма


 
Knight   (2002-03-28 20:17) [3]

Ошибка старая!! Качай!!
Патч с ЦРТ... сылку не даю...тткоол чегото не открывает... попозже...


 
Shaman_Naydak   (2002-03-28 20:25) [4]

>> keymaster..
угу, процы сейчас чересчур быстрые..


 
МИФИст   (2002-03-28 22:28) [5]

Это не моё решение, сам когда то мучался работает 100%!

На самом деле Runtime Error 200 - это не только деление на ноль, но и переполнение при делении. В данном случае число сделанных циклом итераций делится на некоторую константу (не равную нулю), и на быстрых процессорах результат не помещается в 16-битный регистр. При этом и происходит ошибка.

Runtime error 200 лечится поиском в *.exe пpограммы, котоpая вылетает, байтов: B9 37 00 F7 F1 (обычно встpечается 1 pаз) и заменой 37 на 6E. Для шестого паскаля необходимо искать строку B8 37 00 91 F7.

P.S. Если программа запакована PkLite (встречается строка PKLITE) и др., не забудте предварительно распаковать.


 
Keymaster   (2002-03-28 22:35) [6]

Точно.... есть такая... еггог
просто я после апгрейда на паскале не писал ничё... тока на Delphi


 
SoftOne   (2002-03-29 02:44) [7]

А вот те, кто использовал продукты фирмы "Turbo Power SoftWare", до сих пор не знают ЭТИХ проблемм!


 
Muzzy   (2002-03-29 09:18) [8]

Это известная ошибка Turbo Pascal 7.0 и возникает она только на компьютерах выше Pentium (т.е. Celeron, P2, P3 соответственно).
Лечится только патчем, но где его взять - я не знаю. Нужна версия Turbo Pascal 7.1 - там она исправлена. Ссылки не знаю, но могу выслать по EMail сам TP 7.1. Если надо - пиши.


 
IKiller   (2002-03-29 09:55) [9]

Патчилку можно найти по http://pascal.sources.ru/misc/piifix.zip


 
yavfast   (2002-03-29 09:56) [10]

Ответ на вопрос есть на pascal.sources.ru


 
knight   (2002-03-29 10:29) [11]

ftp://ftp.ttkool.ut.ee/comp/crt.zip
ftp://ftp.ttkool.ut.ee/comp/tp7crtpt.zip
Одну для ЕХЕ-патча... вторую распакуешь в каталог ТП в оверврайте, и запускаешь нт.бат


 
cok   (2002-03-29 20:58) [12]

Да это уже древние грабли.
Советую поставить патч(см. выше) или установить нормальный Паскаль.


 
Anatoly Podgoretsky   (2002-03-29 21:00) [13]

cok © (29.03.02 20:58)
Нука назови нормальный Паскаль под ДОС, в котором нет этой проблемы.


 
SoftOne   (2002-03-30 03:18) [14]

> Anatoly Podgoretsky © (29.03.02 21:00)
Достаточно иметь TPP5.х и заменить в USES
CRT на TPCRT, и все проблемы исчезнут, плюс куча доп. возможностей для программы.


 
cok   (2002-03-30 09:28) [15]

2 Anatoly Podgoretsky ©
Но у меня такой есть! Дать не могу (весит более 120Mb). И еще ошибка о делении на 0 выводится только на новых компах, т.е. на 486 ее нет! (сам проверял).


 
knight   (2002-03-30 11:08) [16]

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


 
Anatoly Podgoretsky   (2002-03-31 12:28) [17]

SoftOne © (30.03.02 03:18)
Я в курсе про патчи и другие реализации CRT, вопрос то не про них, может cok © имеет ввиду Паскаль не от Борланд, но это экзотика под ДОС



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
1-77329
Windeus
2002-06-09 12:55
2002.06.24
multilevel edit


3-77281
Андр
2002-05-29 14:47
2002.06.24
Обработка ошибок на русском


7-77622
Ff
2002-03-27 09:10
2002.06.24
Как программно отформатировать логический диск?


1-77433
UserL
2002-06-11 11:21
2002.06.24
Никак не получаеться.


3-77305
Chainik
2002-05-29 14:26
2002.06.24
выборка по дате





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский