Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi "Ungültige Gleitkommaoperation" Fehler finden? (https://www.delphipraxis.net/181798-ungueltige-gleitkommaoperation-fehler-finden.html)

AlexII 9. Sep 2014 19:37

Delphi-Version: 7

"Ungültige Gleitkommaoperation" Fehler finden?
 
Hallo,

ich suche schon seit Wochen den "Ungültige Gleitkommaoperation" Fehler und finde nicht wo dieser im Code (ca. 6000 Zeilen) ausgelöst wird. Der erscheint auch sehr selten, dass ich nicht dahinter komme, welche Klicks ihn auslösen... bin schon am verzweifeln. :roteyes:

Kann man diesen vllt irgendwie ohne Debugger finden oder wenigstens eingrenzen?

Danke!

Edit: kann diese Zeile den Fehler auslösen, wenn SendBitrate String ist?
Delphi-Quellcode:
if (SendBitrate <> '') and (StrToInt(SendBitrate) >= 16) and (StrToInt(SendBitrate) <= 256) then

himitsu 9. Sep 2014 19:49

AW: "Ungültige Gleitkommaoperation" Fehler finden?
 
Es gib sowas wie Eurekalog und das Andere, dessen Name ich immer vergesse,
die bieten dir bei Exceptions praktiche Zusatzinfos an, wie z.B. einen Stacktrace.

Auch in den Jedi ist etwas enthalten.


Nein, da sind ja nur Integer, also Ganzzahlen, und keine Gleitkomma-/Fließkommazahlen.

AlexII 9. Sep 2014 19:58

AW: "Ungültige Gleitkommaoperation" Fehler finden?
 
Ich dachte einfach, dass '' (also leerer String) nicht in Int konvertiert werden kann.

himitsu 9. Sep 2014 20:02

AW: "Ungültige Gleitkommaoperation" Fehler finden?
 
'' kann auch nicht nach Integer konvertiert werden, genauso wie alles was keine Zahl ist, wie z.B. '-', 'a', 'a1' usw.

TryStrTo... und StrTo...Def
Delphi-Quellcode:
if TryStrToInt(SendBitrate, i) and (i >= 16) and (i <= 256) then

* erspart das doppelte Umwandeln
* und kann auf Fehler prüfen, ohne daß es zu einer Exception kommt

Uwe Raabe 9. Sep 2014 20:09

AW: "Ungültige Gleitkommaoperation" Fehler finden?
 
Zitat:

Zitat von himitsu (Beitrag 1271893)
das Andere, dessen Name ich immer vergesse,

madExcept

jaenicke 9. Sep 2014 20:16

AW: "Ungültige Gleitkommaoperation" Fehler finden?
 
Zudem könntest du nach Divisionen oder ähnlichen Rechenoperationen suchen. ;-)

AlexII 9. Sep 2014 20:25

AW: "Ungültige Gleitkommaoperation" Fehler finden?
 
Zitat:

Zitat von jaenicke (Beitrag 1271900)
Zudem könntest du nach Divisionen oder ähnlichen Rechenoperationen suchen. ;-)

Das ist ja das Problem, ich habe keine Rechenoperationen.

AlexII 9. Sep 2014 20:26

AW: "Ungültige Gleitkommaoperation" Fehler finden?
 
Zitat:

Zitat von himitsu (Beitrag 1271895)
'' kann auch nicht nach Integer konvertiert werden, genauso wie alles was keine Zahl ist, wie z.B. '-', 'a', 'a1' usw.

TryStrTo... und StrTo...Def
Delphi-Quellcode:
if TryStrToInt(SendBitrate, i) and (i >= 16) and (i <= 256) then

* erspart das doppelte Umwandeln
* und kann auf Fehler prüfen, ohne daß es zu einer Exception kommt

Was ist in diesem Fall i?

Helmi 9. Sep 2014 20:45

AW: "Ungültige Gleitkommaoperation" Fehler finden?
 
eine (lokale) Variable des Typs Integer

Delphi-Quellcode:
TryStrToInt
versucht den String in einen Integer (i) zu wandeln
ist es möglich (Result = true) dann steht in i der gewandelte Wert
geht's nicht, dann sollte man auf den Rückgabewert Result = false reagieren

himitsu 9. Sep 2014 20:45

AW: "Ungültige Gleitkommaoperation" Fehler finden?
 
Zitat:

Zitat von AlexII (Beitrag 1271902)
Was ist in diesem Fall i?

TryStrToInteger :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 Uhr.
Seite 1 von 3  1 23      

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