![]() |
Float-Operations-Fehler - Wo ist er?
Hey ho!
Ich habe schon wieder ein Problem, diesmal mit der Grafikausgabe.
Delphi-Quellcode:
Ergibt bei mir einen "Critical Error", der erst zur Laufzeit passiert. Er sagt mir, dass eine ungültige Float-Operation gemacht wurde. Ich habe schon herausgefunden dass es in den beiden Zeilen ist, wo die Pixel umgesetzt werden.
arm1.X := position.X + 2*cos(2*Pi/360*winkel);
arm1.Y := position.Y + 2*sin(2*Pi/360*winkel); arm2.X := position.X + 2*cos(2*Pi/360*winkel); arm1.Y := position.Y - 2*sin(2*Pi/360*winkel); Form1.Canvas.Pixels[round(arm1.X),round(arm1.Y)] := Form1.Color; //Arm 1 Form1.Canvas.Pixels[round(arm2.X),round(arm2.Y)] := Form1.Color; //Arm 2 Aber warum kommt dort ein Float-Fehler, die 4 Berechnungen macht er problemlos? Nicht über die Punkte wundern, ich habe mir einen neuen Punkttyp erstellt, der Single-Werte als X und Y nimmt. Flare |
Re: Float-Operations-Fehler - Wo ist er?
-Desinformation wegeditiert- :oops:
|
Re: Float-Operations-Fehler - Wo ist er?
Versuch mal Trunc() statt Round()
|
Re: Float-Operations-Fehler - Wo ist er?
arm1.Y wurde doppelt gesetzt, dafür ist arm2.Y wahrscheinlich nicht initialisiert...
Gruß Hawkeye |
Re: Float-Operations-Fehler - Wo ist er?
BTW: Es gibt für Bogenmaß-Grad-Konvertierungen die Funktion DegToRad bzw. RadToDeg. Dann wird das ganze übersichtlicher.
|
Re: Float-Operations-Fehler - Wo ist er?
Danke, klappt ^^ hab ich völlig übersehen...kommt vom Code kopieren :oops:
Flare |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 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