Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ursache für 'ungültige Gleitkommaoperation'? (https://www.delphipraxis.net/37604-ursache-fuer-ungueltige-gleitkommaoperation.html)

Nikolas 7. Jan 2005 20:11


Ursache für 'ungültige Gleitkommaoperation'?
 
Mein Programm bleibt in unregelmäßigen Abständen mit dieser Fehlermeldung hängen. Ich weiss jetzt schon, dass der Fehler in einer Procedure auftritt, die in ein Array schreibt. In dieses Array wird eine Variable geschrieben, für die ich mir einen Type deklariert hatte, der aus zwei single besteht. Ich habe jetzt keine Ahnung, wodurch dieser Fehler ausgelöst wird, denn bisher habe ich im Internet nur gefunden, dass dieser Fehler bei zu großen/zu kleinen Zahlen auftritt oder bei Divisionen durch 0. Da ich hier aber nur einfach eine Variable in ein dynamisches Array schreiben will, hilft mir das auch nicht weiter.

Hatte da jemand schon ein ähnliches Problem und hat es lösen können? :gruebel:

Vielen Dank schon mal.

Wuaegner 7. Jan 2005 20:19

Re: Ursache für 'ungültige Gleitkommaoperation'?
 
hi toxman,
Ja hatte das Problem auch schon paar mal, kannst nich ein bisschen code postn sonst stochern wir hier so im Leeren rum?!
[Edit]Deutsches Sprache, schweres Sprache[/Edit]

Nikolas 7. Jan 2005 20:25

Re: Ursache für 'ungültige Gleitkommaoperation'?
 
Code posten ist uninteressant, alles was da passiert ist folgendendes:

Delphi-Quellcode:
type
MyType= record
a,b: single;
end;

var
list: array of Mytype;
p: mytype;


// in dieser Zeile kommt der Fehler:
list[i]:= P;
i geht bis etwa 500 und der Fehler kommt, wenn er kommt, etwa bei 200-300. Die Werte in P sind auch unspektakulär; die Werte, die geschrieben werden sollen, liegen in dem Bereich in dem auch die anderen schon geschriebenen Werte liegen. Und wenn ich diese Zeile auskommentiere, kommt der Fehler nicht mehr.
Was auch interessant ist, ist das, wenn ich i nicht veränder, sondern alle Werte in list[0] schreibe, ich dann keinen Fehler bekomme. Vielleicht ist es also ein Problem mit dem Speicherplatz :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 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