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 2  1 2      
Benutzerbild von DeddyH
DeddyH

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

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
145 Beiträge
 
Delphi 12 Athens
 
#2

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

Registriert seit: 27. Nov 2017
2.434 Beiträge
 
Delphi 7 Professional
 
#3

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
HCB

Registriert seit: 12. Feb 2020
145 Beiträge
 
Delphi 12 Athens
 
#4

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

  Alt 19. Dez 2023, 16:07
Hier der Code-Ausschnitt:
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;
LG Harry

Geändert von TBx (21. Dez 2023 um 06:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.172 Beiträge
 
Delphi 10.4 Sydney
 
#5

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

  Alt 19. Dez 2023, 16:10
HP Treiber installiert?
(gab es jedenfalls mal vor Jahren, das diese "ein paar Einstellungen" für alle Programme beeinflusst haben.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 19. Dez 2023, 16:28
StrToInt(eingabetext) suggeriert zwar, dass hier die Eingabe zu 'nem Integer werden soll, aber ob die Eingabe ein Integer ist, wissen wir nicht.
Es ist egal, was übergeben wird, es kann auch garnichts, oder der Name "Hans Peter" sein.
Es wird als Ganzzahl interpreziert und demnach auch so behantelt.
Sollte es nicht passen, dann kommt ein anderer Fehler, aber eben nichts bezüglicgh Fließkomma.

Und ja, natürlich kann (oder wird vermutlich auch) der Fehler von wo Anders her kommen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.757 Beiträge
 
Delphi 10.4 Sydney
 
#7

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

  Alt 19. Dez 2023, 16:46
.. du kannst Dein Edit auch so einstellen, dass es nur Zahlen/Ziffern akzeptiert.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
HCB

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

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

  Alt 19. Dez 2023, 17:08
Im Suchfeld sollen Artikelnummern und Produktbezeichnungen eingegeben werden können, wobei wenn Artikelnummern eingegeben werden eine andere SQL abfrage gestartet wird.
Ich habe das ganze jetzt mal auf "tryStrToInt" umgestellt und statt der var cardinal Integer zugewiesen. Mal sehen obs dann richtig läuft.
Gebe auf jedenfall morgen bescheid. Drückt mir die Daumen.

LG Harry
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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
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.434 Beiträge
 
Delphi 7 Professional
 
#10

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

  Alt 20. Dez 2023, 11:47
StrToInt(eingabetext) suggeriert zwar, dass hier die Eingabe zu 'nem Integer werden soll, aber ob die Eingabe ein Integer ist, wissen wir nicht.
Es ist egal, was übergeben wird, es kann auch garnichts, oder der Name "Hans Peter" sein.
Es wird als Ganzzahl interpreziert und demnach auch so behantelt.
Sollte es nicht passen, dann kommt ein anderer Fehler, aber eben nichts bezüglicgh Fließkomma.

Und ja, natürlich kann (oder wird vermutlich auch) der Fehler von wo Anders her kommen.
Das ändert nichts daran, dass wir nicht wissen (wussten), welche konkrete Eingabe zum konkreten Fehler führt(e).

Es ist klar, das dummy nach dem StrToInt 'nen Integer enthält oder eine Ausnahme ausgelöst wird. Enthält dummy einen Integer, wird eine Abfrage mit dem Inhalt von Eingabetext erstellt. Von welchem Type die Artikelnummer in der Datenbank ist, wissen wir nicht, durch die Nutzung von Like könnte hier aber (datenbankseitig) eine implizite Typumwandlung erfolgen, die aber höchstwahrscheinlich nicht zum genannten Fehler führen wird.

Zitat von HCB:
Im Suchfeld sollen Artikelnummern und Produktbezeichnungen eingegeben werden können, wobei wenn Artikelnummern eingegeben werden eine andere SQL abfrage gestartet wird.
Ich habe das ganze jetzt mal auf "tryStrToInt" umgestellt und statt der var cardinal Integer zugewiesen. Mal sehen obs dann richtig läuft.
Gebe auf jedenfall morgen bescheid. Drückt mir die Daumen.
Die gezeigte Quelltext lässt vermuten, dass es sich hier um eine andere SQL abfrage, der Abfrage nach Artikelnummer, also um die andere Abfrage, handelt.

Der Fehler tritt aber auf, wenn man unsinniges wie "hehfehehefgh" eingibt. Also bei der Abfrage, deren Verarbeitung wir im Quelltext nicht sehen können.

Wir wissen, dass mit einer Datenbank gearbeitet wird, wir wissen aber nicht welcher. Stimmen die Ländereinstellungen, ... der Datenbanken auch alle überein?

Der genannte Fehler könnte z. B. eventuell auch auftreten, wenn Client und Datenbank Komma und Tausenderpunkte unterschiedlich interpretieren. Dann könnte er beim Open der Abfrage auftreten, wenn der Client einen Integer erwartet, aber 'nen Gleitkommawert erhält oder andersherum oder irgendsowas, was leicht bis mittelstarkt durcheinandergeraten ist. Fehlerverursacher muss jedenfalls nicht zwingend die Artikelnummer sein, sondern könnte auch aus einem (wie auch immer gearteten) Konvertierfehler einer der anderen im select * from enthaltenen Spalten resultieren.
Zitat von Jasocul:
Bist du dir sicher, dass du den Fehler an der richtigen Stelle suchst?
Ich bin mir (fast) sicher, dass der Fehler an der falschen Stelle gesucht wird.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:38 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