Posted By: dzemen () on 'CZprogram'
Title:     Re: Zaokrouhlovani cisla typu Extended-poznatek cislo 2!
Date:      Thu May 23 16:12:56 2002

> > A ted prijde otazka: Jak se mi xakru muze to CW menit? Delphi ho pouzivaji
> > vzdy spravne, koukal jsem do zdrojaku RTL. Navic, i kdyz ho meni, vzdy je
> > ve tvaru x3xxh, takze vzdycky s extended precision. A na zacatku programu
> se
> > vzdy v unite system nastavi na tech 1332h. Ja sam nikde ten CW nemenim.
> > Chyba 
> > se projevuje i kdyz vyse zmineny programek obsahuje pouze tyto radky a nic
> > vic.
> > Divny, moc divny.
> > Napadlo me, ze by to mohla delat nejaka jina aplikace/DLL knihovna. Ale
> sam 
> > zadnou nenatahuju a ty staticky nalinkovany si snad Delphi ohlidaji, ne ? 
> > A navic: Pri prepnuti z ulohy do ulohy se obnovuji registry CPU i FPU, tak
> > proc ne FPU Control Word?
> 
>  Pochybuju, ze control word se neuchovava, to by musel mit mikrosoft hodne 
> blbe napsane (on ma, ale tohle snad ne).

No, to snad dela. I kdyz u M$ clovek nikdy nevi...

> > pred kazdou float-point operaci se mi nechce. ;-(((
>  Proste zjisti, ktera funkce ti to zmeni a napis bugreport do Borlandu.
> 

Zadna! Borland to nastavi v inicializacni casti unity system procedurou 
_FPUInit spravne! A vsude to ma dobre! A nejlepsi je na tom tohle: Pokud na 
pocitaci, kde to blbne dam Breakpoint do _FpuInit a pote co se mi to zastavi 
to dal pustim pres F9, tak je vsechno OK. Pokud program ale pustim rovnou (at 
uz z Delphi pres F9 nebo proste samostatne treba z Windows Commandera), tak 
je to spatne !!! To znamena, ze pri debuggovani se neco (ne)stane a zustane 
to dobre, ale normalne se tam stihne (za proceduru _FPUInit) neco nacpat, co 
to zblbne! Kazdopadne, pokud to nastavim nekde na zacatku programu ja 
procedurou Set8087CW, tak program bezi vzdy a za vsech okolnosti OK. Proto, 
jestli nechcete hledat 92 haliru v 60 milionech, doporucuji nasledujici radek
umistit nekam na zacatek programu: 

Set8087CW(Default8087CW); 

A je to vzdy OK.

Dzemen

> 
> PS: Nejlepsi reseni je stejne programovat v nejakem slusnem jazyku...
> 

A prepsat do nej 327 000 radku kodu....;-(

Search the boards