![]() |
Delphi XE - Denkfehler oder Bug? (Progressbar MinMax)
Also ich bekomme einen komischen Fehler den ich mir nicht erklären kann.
Und zwar folgendes: Ich setze eine Progressbar in Form und stelle den Max Wert z.B. auf 5000 und den Min Wert auf 4000, die Postion springt dann ja automatisch auf 4000. Wenn ich das Projekt aber starte bekomme ich gleich die Fehlermeldung das Progressbar.Min außerhalb des gültigen Bereichs liegt Wenn ich aber Max auf 100 stelle und Min auf z.B. 95 dann kommt der Fehler nicht. Woran liegt das? Mein Problem ist das ich eine Schleife habe die bei z.B. 242809 anfängt und bei 242697 aufhört nach meinem Verständnis müsste Min also 242809 und Max 242697 sein und Position wird dann z.B. auf I der For schleife gesetzt For i := 242809 to 242697 do begin progressbar1.position := i; |
AW: Delphi XE - Denkfehler oder Bug? (Progressbar MinMax)
Ich habe kein XE und kann daher nichts dazu sagen.
Was passiert denn, wenn du z.B. im OI "Position" auf einen Wert zwischen Min und Max setzt? Edit: Mein Beitrag ist Blödsinn. Der würde auf die Meldung passen, dass Position außerhalb des Bereichs liegt ... |
AW: Delphi XE - Denkfehler oder Bug? (Progressbar MinMax)
Hm das klingt für mich so, als wenn Min und Max intern als SmallInt deklariert wurden oder so?!
|
AW: Delphi XE - Denkfehler oder Bug? (Progressbar MinMax)
Zitat:
Der Fehler ist einfach, daß diese Überprüfung eigentlich nicht während des Ladens aus der DFM (csLoading) ausgeführt werden sollte. Schreib doch einfach mal einen QC dafür. Workaround: Setze die Properties im FormCreate, dort aber erst Max und danach Min. Je nach verwendeter Comctl32.dll können die Werte auch noch auf einen Bereich 0..65535 (bei V5.x) beschränkt sein. Das sollte aber unter aktuellen Betriebssystemen eher selten der Fall sein. |
AW: Delphi XE - Denkfehler oder Bug? (Progressbar MinMax)
@Uwe
Verdammt ja, genau das war es... ich bin so blind - Danke!:-D |
AW: Delphi XE - Denkfehler oder Bug? (Progressbar MinMax)
Deine Schleifenwerte zählent rückwärts und die Schleife (to) läuft vorwärts ... die Schleife wird also niemals durchlaufen.
Min muß aber dennoch kleiner sein, als Max. Wenn du nun rückwärts rechnen, aber den Fortschritt vorwärts anzeigen willst, dann mußt du es umrechnen. PS: Dieses Problem mit dem Setzen hat man auch im Programm, also wenn man es programmseitig setzen will. Entweder man muß aufpassen wann man was in welcher Reihenfolge setzen tut. Oder ich mach es mir "einfach" (wenn sich min/max ändern würden), dann laß ich diese fest und skaliere die Position. |
AW: Delphi XE - Denkfehler oder Bug? (Progressbar MinMax)
Das war nur ein Beispiel und ich habe wohl die Werte vertauscht - es ging aber nicht um die schleife da ich auch ohne schleife in einem komplett leeren Form diesen Fehler bekam wenn ich die Werte im Objektinspektor eingestellt habe (also ohne manuelle Zuweisung im Code und auch ohne schleife).
Aber das Problem ist ja schon gelöst worden |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:43 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