002
15.10.2004, 19:06 Uhr
Frank71
|
Zitat von Hans: |
Hi,
was ist den spindelsteigung für eine Variable? - Ist die global? - oder soll die von wo anders kommen? Jedenfalls hast Du sie in der Funktion nicht definiert, bevor Du damit arbeitest. Ich vermute mal, die Fehlermeldung lautet irgendwie so wie "unknown value", oder "unkekannter Bezeichner". Dann ist noch zu beachten, das ein exakter Vergleich mit Fliesspunktzahlen (also float, double und long double) nicht möglich ist, weil sich die binäre Darstellung der Zahlen von der Dezimalen unterscheidet. (Stichwort Rundungsfehler, und zwar bei der Umrechnung von der dezimalen Darstellung in die Binäre.) Ob das bei der Null jetzt auch gilt weis ich nicht genau, aber für Zahlen wie 0.1 gilt es auf jeden Fall.
Hans
|
Hallo Hans,
spindelsteigung ist eine memberviable von TDrive und als privat deklariert (TDrive beschreibt eine Antrieb mit Getriebe und Spindelübersetzung - ist also auch für Vorschübe brauchbar). Die Fehlermeldung lautet genau "Invalid floating point operation". Bei dem "==" wird es sicherlich Problem geben - ich Prüfe jedoch auf ungleich 0 - das muss gehen.
Gruss Frank Dieser Post wurde am 15.10.2004 um 19:07 Uhr von Frank71 editiert. |