Zitat:
Vielleicht bekommt ein Interessierter heraus, wo die Schutzverletzung ausgelöst wird, mir ist das bislang nicht gelunge
Debuggen?
Hab ich versucht: er durchläuft die FOR x Schleife nur einmal und löst an deren Ende den Fehler aus.
Und wenn das wirklich mal nichts hilft, dann hilft Logging (an wichtigen Stellen wird geloggt und nach der letzten und dem nächsten Logeintrag liegt der Fehler)
Das ist eine gute Idee, das werde ich gleich mal ausprobieren.
Wozu ist eigentlich das bremsende und völlig unnötige Application.ProcessMessages;
?
Das ist noch übrig von meinen anfänglichen Testreihen, habs vergessen rauszunehmen.
Sicher daß ein Nummerischer/mathematischer Wert sich gut eignet, für einen binären Vergleich?
Maske := Mask DIV Track_Color.Max * Track_Color.Position;
Das Rechenergebnis ist garantiert meistens nicht geeignet für sowas.
Ich dachte mir, daß es hier auf Genauigkeit nicht weiter ankommt. Der Variable
Maske soll nur ein ungefährer Wert übergeben werden, ausgehend von $FFFFFFFF, dem Wert der Konstante
Mask.
Und warum schreibst du in einer Konstante rum?
Die Konstante
Mask wird doch nicht verändert, sondern lediglich als Ursprungswert genommen.
Auch wenn es nicht unbedingt falsch ist, aber IF erwartet einen Booleanischen Wert und dein Result ebenso ... warum nicht kombinieren?
Delphi-Quellcode:
IF Fehler > (UpDown_Sensi.Position * 10) THEN
Result := FALSE ELSE
Result := TRUE;
Result := Fehler <= UpDown_Sensi.Position * 10;
Danke, dein Code ist eleganter als meiner, den nehm ich gerne
So, jetzt mach ich mich ans Logfile ... diese Idee wäre mir wohl nicht so schnell von alleine gekommen, danke.