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?
Die Properties werden aus der
DFM in der Reihenfolge ihrer Deklaration geladen (eigentlich
gespeichert, aber beim Laden kommen sie dann halt auch in dieser Reihenfolge) - in diesem Fall kommt Min vor Max. Beim Setzen von Min wird aber überprüft, ob Max < Min ist und ggf. eine
Exception ausgelöst. Daher funktioniert auch jeder Min-Wert bis 100, da Max mit 100 vorbesetzt wird.
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.