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

Powrot na Strone Glowna