![]() |
Division durch 0 -> NAN
Hallo, habe ein blödes problem,
Auf meinem Entwicklungssystem, bekomme ich nun statt einer Exception wenn ich durch 0 dividiere die "Zahl" NaN raus, meine Kunden, jedesmal eine Exception, nun ist es zum Fehlersuchen sehr mühselig, das zu finden. ich habe schon probiert, ein
Delphi-Quellcode:
zu machen, aber das bringt erstens nix, und zweitens war es schon gesetzt, wenn ich mir den wert mit GetExecptionMask anschaue ...
SetExceptionMask(GetExceptionMask + [exZeroDivide]);
Was kann das noch sein, hat da wer eine Idee? |
Re: Division durch 0 -> NAN
|
Re: Division durch 0 -> NAN
möglich, habe diese seite auch schon gesehen
Allerdings die letzten Jahre über bekam ich auf dem selben system immer diese Exception und nun siet ca. 1-2 wochen nicht mehr .... |
Re: Division durch 0 -> NAN
Man könnte natürlich auch so programmieren, daß soeine Berechnung erst garnicht durchgeführt und über die Eingabewerte schon frühzeitig abgefangen wird. :angel2:
|
Re: Division durch 0 -> NAN
Welches Betriebssystem wird denn genutzt?
Wurden evtl. Updates geladen? Eine andere Möglichkeit als ein Windowsupdate fällt mir dann auch im Moment nicht ein... Wäre ja nicht das erste Mal das ein Windowsupdate komische Dinge tut... :mrgreen: |
Re: Division durch 0 -> NAN
Probier es mal mit
![]() |
Re: Division durch 0 -> NAN
Zitat:
|
Re: Division durch 0 -> NAN
Zitat:
|
Re: Division durch 0 -> NAN
ist ein win2000 Rechner
und ja, ich will diese sachen ja vermeiden, aber es ist halt um einiges leichter, wenn der compiler in der entwicklungsumgebnung dann mit der exception dort stehen bleibt, wo es auftritt, und nicht einfach weitergeht mit dem wert NaN. Es ist nun einfach schwierig diese Bugs aufzuspüren ... also, das brachte auch nix
Delphi-Quellcode:
System.Set8087CW(Default8087CW);
|
Re: Division durch 0 -> NAN
Hallo Hans,
habe folgendes: I think I gave you the wrong code. A clear bit allows the exception, a set bit masks it. Try the following instead: SetExceptionMask(GetExceptionMask - [exZeroDivide]); Now it should give you a divide by zero error. What did Format('$%.4X', [Get8087CW]) result in, in your case? hier gefunden: ![]() Hoffe dies hilft dir weiter. Gruss, Jörn |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz