| Autor |
Beitrag |
Knulli
      
Beiträge: 116
Erhaltene Danke: 2
Win2k, Win7, Win10
D5, D2005, D2006, D2007, D10.4.2
|
Verfasst: Mo 26.05.08 15:26
Hi Leute,
die Progressbar macht mich fertig...
Ich will zur Laufzeit Min und Max setzen und Position dazwischen hochlaufen lassen.
Es kann 1..10, aber auch 25..37 oder auch 200..200 vorkommen, je nachdem was der Benutzer gerade macht.
Ich bekomme es immer wieder hin, daß ich eine Exception um die Ohren gehauen bekomme, wenn ich entweder Min oder Max setze.
z.B. Min steht vom letzten Mal noch auf 1, Max auf 10. Wenn ich Min=200 setzen will krachts
in diesem Fall wäre es bestimmt besser gewesen erst Max zu setzen.
Aber wenn ich Min/Max auf 200/200 zu stehen habe und wieder 1/10 draus machen will krachts bei Max=10
hier wäre es besser erst Min zu setzen.
Gibts nicht eine Möglichkeit die immer klappt OHNE, daß ich mir vorher X-UND-NEUNZIG mögliche Sonderfälle überlegen muß?
Knulli
|
|
ZeitGeist87
      
Beiträge: 1593
Erhaltene Danke: 20
Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
|
Verfasst: Mo 26.05.08 15:29
Delphi-Quelltext 1: 2: 3:
| Progressbar1.Progress/Position:= 0; Progressbar1.Min:= Min; Progressbar1.Max:= Max; |
Min und Max sind Varibalen vom Typ Integer mit den entsprechenden Werten..
_________________ Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
|
|
Knulli 
      
Beiträge: 116
Erhaltene Danke: 2
Win2k, Win7, Win10
D5, D2005, D2006, D2007, D10.4.2
|
Verfasst: Mo 26.05.08 15:46
Nee, das wars nicht. Knallt trotzdem:
Min/Max von 0/100 --> 1/10 geht noch
dann
Min/Max von 1/10 --> 200/200 Exception
Knulli
|
|
ZeitGeist87
      
Beiträge: 1593
Erhaltene Danke: 20
Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
|
Verfasst: Mo 26.05.08 15:48
Zeig mal den Quelltext..
_________________ Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
|
|
Knulli 
      
Beiträge: 116
Erhaltene Danke: 2
Win2k, Win7, Win10
D5, D2005, D2006, D2007, D10.4.2
|
Verfasst: Mo 26.05.08 16:37
Hab selber ne Lösung gefunden:
Hab mal in die Komponente reindebuggt, was da los ist:
Delphi-Quelltext 1: 2:
| if AMax < AMin then raise EInvalidOperation.CreateFmt(SPropertyOutOfRange, [Self.Classname]); |
ich muß also nur verhindern, daß Min größer Max wird:
das mache ich jetzt so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if (aFrom > aProgressBar.Max) then begin aProgressBar.Max := aTo; aProgressBar.Min := aFrom; end else begin aProgressBar.Min := aFrom; aProgressBar.Max := aTo; end; |
Danke für die Mithilfe.
Knulli
|
|
|