Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Division durch 0 -> NAN (https://www.delphipraxis.net/151702-division-durch-0-nan.html)

Gruber_Hans_12345 28. Mai 2010 14:26


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:
    SetExceptionMask(GetExceptionMask + [exZeroDivide]);
zu machen, aber das bringt erstens nix, und zweitens war es schon gesetzt, wenn ich mir den wert mit GetExecptionMask anschaue ...

Was kann das noch sein, hat da wer eine Idee?

Forlan 28. Mai 2010 15:03

Re: Division durch 0 -> NAN
 
Hi,
Könnte es evtl. sein, dass das Problem betriebssystemabhängig ist?
Siehe hier

Gruß,

Gruber_Hans_12345 28. Mai 2010 15:13

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 ....

himitsu 28. Mai 2010 15:16

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:

Forlan 28. Mai 2010 15:17

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:

Namenloser 28. Mai 2010 15:19

Re: Division durch 0 -> NAN
 
Probier es mal mit Set8087CW.

Forlan 28. Mai 2010 15:20

Re: Division durch 0 -> NAN
 
Zitat:

Zitat von NamenLozer
Probier es mal mit Set8087CW.

...Obwohl es denke ich sinnvoller wäre Himitsus Vorschlag in die Tat umzusetzen. ;)

Bernhard Geyer 28. Mai 2010 15:32

Re: Division durch 0 -> NAN
 
Zitat:

Zitat von Gruber_Hans_12345
Allerdings die letzten Jahre über bekam ich auf dem selben system immer diese Exception und nun siet ca. 1-2 wochen nicht mehr ....

Hast du einen neuen Drucker oder Druckertreiber installiert? HP-Treiber sind bekannt dafür den Defaultwert für das Exception-Handling der Fließkommaeinheit der CPU zu verändern.

Gruber_Hans_12345 28. Mai 2010 15:37

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);

bassman 28. Mai 2010 16:00

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: https://forums.codegear.com/thread.j...ssageID=163649

Hoffe dies hilft dir weiter.

Gruss, Jörn


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz