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
Benutzerbild von himitsu
himitsu
Online

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

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

  Alt 19. Dez 2023, 19:27
bis 9 bzw. 10 Dezimalstellen
TryStrToInt
Delphi-Referenz durchsuchenTryStrToUInt

bis 19 bzw. 20 Dezimalstellen
Delphi-Referenz durchsuchenTryStrToInt64
TryStrToUInt64
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
578 Beiträge
 
Delphi 12 Athens
 
#2

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

  Alt 19. Dez 2023, 20:47
Ich würde auch nochmal den Hinweis von LoZe abprüfen. Und zwar habe ich auf einem Rechner ein chinesisches Programm, das ein Gerät ausliest, das nur dann korrekte Zahlen liefert, wenn man das Zeichen für den Dezimaltrennpunkt auf Komma umstellt. Hat was mit einer Fotovoltaikanlage zu tun. Hab ich gemacht, natürlich vergessen zurückzustellen und ein paar Tage später beinahe 120.000 € überwiesen. Die Ländereinstellung ist weiterhin auf "Deutschland" und es ist nichts verändert, außer dem Dezimalzeichen. Den Betrag hatte ich kopiert und eingefügt, so kann zwanglos eine Gleitkommazahl in eine Textbox kommen.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.057 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 19. Dez 2023, 21:55
Bist du sicher, dass die Exception an der Stelle auftritt? Wie lautet diese ganz genau?

Dass diese dort nicht abgefangen wird, liegt daran, dass du nur EConvertError abfängst, alle anderen Exceptions aber nicht. Du solltest besser TryStrToInt verwenden und nur Exceptions in den Zeilen mit der SQL-Abfrage behandeln, dort dann aber alle.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

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

  Alt 20. Dez 2023, 05:50
Hallöle...
[OT]
Delphi-Quellcode:
try
  dummy := StrToInt(edt_SearchEdit.Text); //prüfen ob artikelnummer eingegeben wurde, sonst except ausführen
  Q_sArtikel.Close;
  Q_sArtikel.SQL.Text := 'select * from Artikel where ArtNr like '+ QuotedStr(edt_SearchEdit.Text+'%')
  Q_sArtikel.Open;
except
  on E: EConvertError do ShowMessage('Keine gültige Artikelnummer';
end;
'select * from Artikel where ArtNr like '+ QuotedStr(edt_SearchEdit.Text+'%') bietet SQL Injection einen perfekten Spielplatz. https://de.wikipedia.org/wiki/SQL-Injection
Immer mit Parametern arbeiten.
Delphi-Quellcode:
try
  dummy := StrToInt(edt_SearchEdit.Text); //prüfen ob artikelnummer eingegeben wurde, sonst except ausführen
  Q_sArtikel.Close;
  Q_sArtikel.SQL.Text := 'select * from Artikel where ArtNr like :ANN';
  Q_sArtikel.ParamByName('ANN').AsString := QuotedStr(edt_SearchEdit.Text+'%');
  Q_sArtikel.Open;
except
  on E: EConvertError do ShowMessage('Keine gültige Artikelnummer';
end;
[/OT]

  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 20. Dez 2023, 06:16
Entweder SQL-Parameter(dringend empfohlen) oder QuotedStr, beides zusammen ist doppelt gemoppelt.
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
Benutzerbild von haentschman
haentschman

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

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

  Alt 20. Dez 2023, 06:40
Zitat:
QuotedStr
...CopyPaste.
Q_sArtikel.ParamByName('ANN').AsString := edt_SearchEdit.Text + '%';
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#7

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

  Alt 20. Dez 2023, 07:32
Okay, die SQL-Injection haben wir jetzt gelöst. Die Exception noch nicht.

Die Exception "Ungültige Gleitkommaoperation" bei der Eingabe von Nummern riecht für mich auch Extrem nach einer Locale-Thematik.
Also wirklich checken:
- Welche Region ist auf den jeweiligen PCs eingestellt?
- Welche Sprache nutzen die jeweiligen Rechner?
- Welches "Regional Format" ist eingestellt?

Mir ist mal eine Fremdprogrammierte Java-Vereinsmanagementsoftware jedes mal bei einer Zifferneingabe abgeschmiert, weil mein System English (US) war und mein Regional Format German (Date/Time, Tausender- und Nachkomma-Trennzeichen), und der Entwickler dort halt nur auf reinen German-Systemen gearbeitet hat und der übliche Vereins-Verwaltungs-Typ maximal auch ne Deutsche Windows-Kiste hatte und das da nie vorgekommen ist.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:37 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