Runtime Error 200 na Szybkich Komputerach
Runtime Error 200 - 'Divide by 0' ( dzielenie przez zero ) - Jeżeli masz szybki
komputer ( powyżej Pentium Pro 180MHz ) oraz Pascala firmy Borland i chcesz aby program używał modułu
CRT, nagle okazuje się, że wyskakuje za każdym uruchomieniem naszego programu błąd runtime-error 200.
Spowodowane jest to tym, że standardowy moduł CRT użyty w Pascal'u 7.0 i 7.01 w czasie
inicjalizacji wykonuje pewną pętlę czasową ( potrzebną do procedury delay ). Ta pętla zlicza ile taktów zegara zostanie
wygenerowanych w czasie jej działania, a następnie ta liczba jest dzielona przez 55.
A ponieważ komputer jest za szybki to rezultat tego dzielenia jest liczbą zbyt dużą aby
zmieścić się w zakresie integer do którego jest podstawiany wynik. I właśnie z powodu przepełnienia
wywoływane jest to samo przerwanie co przy dzieleniu przez zero i dlatego pojawia się taki błąd. Aby temu zaradzić powstały różnego rodzaju "łatki".
Aby sprawdzic ktora masz wersje modułu obejrzyj poniższe pliki (przez "dir *.tpl" ) jeżeli wygladają tak:
TPP.TPL 59,680 10-27-92 7:00a
TURBO.TPL 48,432 10-27-92 7:00a
to posiadasz wersję 7.00,
Poprawka na moduł CRT dla Borland Pascal'a 7.00
jeżeli natomiast tak:
TPP.TPL 59,968 03-09-93 7:01a
TURBO.TPL 48,464 03-09-93 7:01a
to posiadasz wersję 7.01
Poprawka na moduł CRT dla Borland Pascal'a 7.01
A co z programami które już są skompilowane i nie posiadasz do nich źródeł ? Je również można poprawić używając tego programiku:
Poprawka na skompilowane programy
http://www.borland.com/devsupport/pascal/ - Strona Borlanda dotycząca błędów w Pascalu