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
HCB

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

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

  Alt 20. Dez 2023, 16:02
Vielen herzlichen Dank für euere Mithilfe. Ich habe bemerkt dass ich zur Geschindigkeitsmessung am Ende der Routine
> lbl_performance.Caption:= IntToStr(GetTickCount - startTime) + 'ms'; <
eingefügt habe. Die Variable starttime habe ich als Integer deklariert, sehe aber in der Delphi Hilfe dass es wohl von Typ cardinal sein soll.
Vielleicht liegt es daran. Was aber immer noch nicht klärt, warum es auf manche Rechnern funktioniert.

FPU??
Alle Rechner haben den gleichen Prozessor i5 4690 außer der Entwicklungsrechner hat i5 7xxx.

Ich werde morgen das ohne GetTickCount probieren und wieder berichten.

LG Harry
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

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

  Alt 20. Dez 2023, 17:27
Ja, Cardinal, schon immer,
aber nach 49,7 Tagen kann es dennoch knallen, wenn es zum Überlauf kommt, da Delphi ja neuerdings standardmäßig die Bereichsprüfung aktiv hat.

Delphi-Referenz durchsuchenTStopWatch Hier im Forum suchenTStopWatch
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (20. Dez 2023 um 17:29 Uhr)
  Mit Zitat antworten Zitat
HCB

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

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

  Alt 21. Dez 2023, 07:44
Guten Morgen,
die Messung GetTickCount hab ich jetzt komplett rausgeschmissen und siehe da: ES FUNKTIONIERT IMMER NOCH NICHT!
Weiß der Teufel was da schief läuft.
Es ist verflucht schwierig einen Fehler auf dem Rechner zu finden, auf dem das Programm ja läuft. Verflixt!
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.472 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

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

  Alt 21. Dez 2023, 07:58
Was ist denn jetzt mit der Theorie, dass das FPU Control Word von einer DLL geändert wird und es deshalb zu Problemen mit Fließkomma-Berechnungen kommt? Das ist meiner Ansicht nach die wahrscheinlichste Ursache.

Werden irgendwelche speziellen DLLs benutzt?

Häufig hilft es, sie explizit mit SaveLoadLibrary zu laden, was sich um dieses Problem kümmert, zumindest wenn es durch die Initialisierung der DLL auftritt.
Thomas Mueller
  Mit Zitat antworten Zitat
HCB

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

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

  Alt 21. Dez 2023, 08:49
Es werden keine zusätzlichen DLLs verwendet, das Programm läuft allein nur mit der exe und einer .ini File.
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.341 Beiträge
 
Delphi 11 Alexandria
 
#6

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

  Alt 21. Dez 2023, 09:58
Ich verstehe nicht, warum du den Fehler an Stellen suchst, die die Fehlermeldung nicht verursachen können.
Deine ersten Vermutungen haben schon gezeigt, dass dort nur Convert-Fehler oder SQL-Fehler entstehen können. Beim GetTickCount hättest du nur einen Überlauf-Fehler bekommen können.
Du sucht an Stellen, wo mit Cardinal und Integer gearbeitet wird. Die Wahrscheinlichkeit, dass dort der Fehler ist, tendiert gegen 0.

Schau dir den Source an den Stellen an, wo mit Double, Extended o.ä. gearbeitet wird.
Peter
  Mit Zitat antworten Zitat
Kas Ob.

Registriert seit: 3. Sep 2023
223 Beiträge
 
#7

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

  Alt 21. Dez 2023, 10:11
Hi,

Also I think you are looking for this in the wrong place, i suspect something different and has to do with memory allocation, like using broken FastMove, or something else.

I suggest to build the EXE with RTL debug dcu, only then you might get closer or finer look where the exception is raised, this exception is hardware one and should be easier to catch and locate as it is limited to illegal operation.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

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

  Alt 21. Dez 2023, 10:34
Es ist verflucht schwierig einen Fehler auf dem Rechner zu finden, auf dem das Programm ja läuft. Verflixt!
Das ist in 80-90% der Fehler gar nicht schwierig, bei den anderen 10-20% ist dann deutlich arbeitsintensiver. So weit bist du aber noch gar nicht, was daran liegt, dass du kein sauberes globales Exceptionhandling, Logging oder irgendetwas in der Richtung hast. Denn sonst wüsstest du schon längst, wo der Fehler konkret passiert.

MadExcept wurde ja schon vorgeschlagen. Das musst du im Grunde nur einbinden, damit du einen guten Fehlerbericht mit Stacktrace bekommst. Alle anderen Logging-Maßnahmen sind für den aktuellen Zweck viel aufwendiger, wenn man sie nicht von Anfang an vorgesehen hat.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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 21. Dez 2023, 10:54
Tipp: Probehalber auch mal vorübergehend die Codeoptimierung abschalten, wenn irgendwas knallt und man nicht weiß woher. (falls du als "Debug" kompilierst und es dort aktiviert wurde)

Wenn es zuverlässig dort auftritt, dann mal via RemoteDebugging nachsehn (falls nicht vorhanden, kann man auch z.B. via TeamViewer ein VPN verwenden, um sich mit seinem Delphi mit dem Programm zu verbinden),
oder eine bessere Fehlerauswertung einbauen (Eurekalog, MadExcept oder so).
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (21. Dez 2023 um 10:57 Uhr)
  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 19:55 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