AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Ungültige Gleitkommaoperation nur bei bestimmten PC's
Thema durchsuchen
Ansicht
Themen-Optionen

Ungültige Gleitkommaoperation nur bei bestimmten PC's

Ein Thema von HCB · begonnen am 19. Dez 2023 · letzter Beitrag vom 22. Dez 2023
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
HCB

Registriert seit: 12. Feb 2020
136 Beiträge
 
Delphi 12 Athens
 
#1

Ungültige Gleitkommaoperation nur bei bestimmten PC's

  Alt 19. Dez 2023, 10:14
Delphi-Version: 11 Alexandria
Hallo, 5 User nutzen mein Programm.
Bei einer Suchfunktion mit z.B. Werten die nicht gefunden werden können, da nicht vorhanden, kommt bei 2 PC's die korrekte Messagebox dass der Suchbegriff nicht gefunden wurde.
Die anderen 3 PC's zeigen statt die MessageBox die Fehlermeldung "Ungültige Gleitkommaoperation", die MessageBox wird aber nicht gezeigt.
Ich muss dazu sagen, das mit dummy:= StrToInt(eingabetext) geprüft wird, ob Nummern eingegeben werden, dementsprechend wird die except Routine ausgeführt.

Kennt Ihr so ein Verhalten, dass mit den selben Programm das Ergebnis auf verschiedenen Rechnern anders aussieht?

Über Tipps würde ich mich freuen.

LG Harry
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Ungültige Gleitkommaoperation nur bei bestimmten PC's

  Alt 19. Dez 2023, 10:55
Ein Thema könnte das FPU control word sein, mit dem Einfluss auf Gleitkommaberechnungen genommen werden kann.
https://docwiki.embarcadero.com/RADS...ntrol_Routines

Die Frage ist aber eher, wo das konkrete Problem liegt. Deine Prüfung mit StrToInt kann da kaum eine Rolle spielen, denn es geht ja um eine Gleitkommaoperation. Welche Zeile wirft denn den Fehler?

Ein beliebter Fehler ist z.B., einen Wert auf "= 0" zu prüfen, statt IsZero zu verwenden.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
136 Beiträge
 
Delphi 12 Athens
 
#3

AW: Ungültige Gleitkommaoperation nur bei bestimmten PC's

  Alt 19. Dez 2023, 11:02
Ich habe schon gedacht dass es am jeweiligen Bertriebssystemstand liegt. Fällt aber auch aus, da der eine PC- Stand 22H2 19045.3693 hat und es ohne Fehlermeldung läuft, während der andere PC mit dem selben Betriebssystemstand die Fehlermeldung bringt.
Ich vermute, dass irgend etwas an der Rechnerkonfiguration sich unterscheidet. Nur was????

LG Harry
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#4

AW: Ungültige Gleitkommaoperation nur bei bestimmten PC's

  Alt 19. Dez 2023, 11:54
Zitat:
Welche Zeile wirft denn den Fehler?
Code?
  Mit Zitat antworten Zitat
LoZe

Registriert seit: 27. Dez 2016
Ort: Ulm
38 Beiträge
 
Delphi 12 Athens
 
#5

AW: Ungültige Gleitkommaoperation nur bei bestimmten PC's

  Alt 19. Dez 2023, 11:58
ich hatte mal ein ähnliches Problem bei mir waren die jeweiligen Rechner im Windows nicht auf Region Deutschland eingestellt Sondern Englisch, Chinesisch oder Slowakisch.
Chris
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
618 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Ungültige Gleitkommaoperation nur bei bestimmten PC's

  Alt 19. Dez 2023, 12:11
ich hatte mal ein ähnliches Problem bei mir waren die jeweiligen Rechner im Windows nicht auf Region Deutschland eingestellt Sondern Englisch, Chinesisch oder Slowakisch.
Dem gebe ich auch 100 Punkte.
Länder Einstellungen, Format Einstellungen. Habe ich regelmäßig Probleme mit.

Ich würde generell mit StrToIntDef arbeiten da hier keine Exceptions kommen, sondern der angegebene Defaultwert wenn etwas schief geht.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Ungültige Gleitkommaoperation nur bei bestimmten PC's

  Alt 19. Dez 2023, 12:18
StrToInt hat aber doch mit Gleitkomma nichts zu tun, ansonsten würde ich eher mit einem EConvertError rechnen, wenn man Stringumwandlungen versucht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
136 Beiträge
 
Delphi 12 Athens
 
#8

AW: Ungültige Gleitkommaoperation nur bei bestimmten PC's

  Alt 19. Dez 2023, 13:03
Die Variable dummy ist vom Typ cardinal, ich werde es mal auf Integer oder LongInt umstellen und sehen was dann passiert.
Fragt sich nur warum es bei 2 Rechnern ohne Fehlermeldung läuft.???
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.147 Beiträge
 
Delphi 12 Athens
 
#9

AW: Ungültige Gleitkommaoperation nur bei bestimmten PC's

  Alt 19. Dez 2023, 13:34
Ihhh, eine Exception zur Flusssteuerung.

OK, wenn sowieso abgebrochen werden soll und der der Benutzer die Meldung sehen soll, dann ja,

aber sonst TryStrToInt oder StrToIntDef, jenachdem wie die Fehleingabe behandelt werden soll.


Aber ein Fließkommafehler bei einer Ganzzahloperation?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.416 Beiträge
 
Delphi 7 Professional
 
#10

AW: Ungültige Gleitkommaoperation nur bei bestimmten PC's

  Alt 19. Dez 2023, 13:56
Wenn statt einer MessageBox, außerhalb der Fehlerbehandlungsroutine zur Flusssteuerung, eine andere Fehlermeldung kommt, liegt die Vermutung nahe, dass die andere Fehlermeldung nicht von dort kommt, wo du es vermutest oder gerne hättest, sondern von einer anderen Stelle.
Oder die Fehlerbehandlung selbst enthält einen Fehler, so dass dort nicht die gewünschte Fehlerbehandlung erfolgt, sondern ein Folgefehler sichtbar wird.

haentschman bat um Code. Wie wäre es damit? Dann hätten wir sogar 'ne Chance die Fehlerstelle mal anzuschauen, den Fehler nachzuvollziehen, für Abhilfe zu sorgen, statt einfach nur in Mutmaßungen zu stochern.

Zitat von himitsu:
Aber ein Fließkommafehler bei einer Ganzzahloperation?
Wie kommst Du dadrauf?

StrToInt(eingabetext) suggeriert zwar, dass hier die Eingabe zu 'nem Integer werden soll, aber ob die Eingabe ein Integer ist, wissen wir nicht.

Ist Eingabetext auf manchen Systemen ein Integer mit Tausenderpunkt, der auf anderen Systemen zu 'nem Dezimaltrenner mutiert? Oder ist die Eingabe zwar für StrToInt ein "richtiger" Integer, für die weitere Routine aber nicht?

Und was kommt hier auf welchem Weg nach Eingabetext? TEdit, TMemo, TMaskEdit, InputQuery, InputBox, ...

Und wo sucht die Suchfunktion? In 'ner Ini, im Arbeitsspeicher, 'ner StringList, 'ner Datenbank? Passen da die Ländereinstellungen überall zusammen?

Delphi mit Tausenderpunkt, Datenbank mit Tausenderkomma? Integer mit Tausenderpunkt ist Integer. Mit Tausenderkomma aber eventuell bei der DB dann nicht mehr. Oder was weiß wer da sonst noch so alles schiefgehen könnte, ...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.
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