e-mail    Debatní kniha    Mapa stránek    Hlavní  

 
 Bug 200 
Možná jste se s tím už setkali, možná ne. Každopádně vězte, že v Borland pascalu 7.00 a 7.01 je chyba, která způsobuje vyjímku dělení nulou, následkem čehož se program ukončí s příslušně energickou chybovou hláškou. Tato chyba se projeví okamžitě po startu programu na počítači s procesory Pentium Pro 200 a rychlejšími. Problém je v inicializační čísti unitu CRT, kdy detekuje rychlost počítače, aby vypočítal konstantu, která se pak použije v proceduře Delay. Moderní procesory jsou tak rychlé, že se ani nezvýší jakýsi interní čítač a zůstane na nule. Následující operace dělení způsobí právě error 200.
Co s tím? Stáhněte si následující patch. Mimo jiné se vybalí soubory TURBO.TPL a TPP.TPL. Ty překopírujte do podadresáře .\BIN ve vašem adresáři s pascalem. Na výzvu, zda stávající soubory přepsat, odpovězte "jo" a voalá, všechny programy co od této chvíle vytvoříte, už budou P200 ready. Ale co s už existujícími aplikacemi jako je třeba M602 a spousta dalších? V archívu je také soubor TPPATCH.EXE a PATCHCRT.EXE. Oba programy fungují stejně - jsou to utility, které opraví problematický kód uvnitř již zkompilovaných EXE souborů. Jde tedy svým způsobem o velmi jednoduché cracknutí pro dobročinné účely :-)
V archívu je přibalen i opravený zdroják jednotky CRT, kterou si můžete vlastnoručně překompilovat.
Nakonec znovu připomínám, že problémy kolem chyby 200 se týkají jenom Borland pascalu 7.0x, starších se tento článek netýká.

Přehled překladačů
Věci na stáhnutí
Odkazy k tématu
BP7 buglist
Chyba Run-time 200

BASIC






WebZdarma.cz