Autor Beitrag
Knulli
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116
Erhaltene Danke: 2

Win2k, Win7, Win10
D5, D2005, D2006, D2007, D10.4.2
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Mo 26.05.08 15:29 
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116
Erhaltene Danke: 2

Win2k, Win7, Win10
D5, D2005, D2006, D2007, D10.4.2
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 116
Erhaltene Danke: 2

Win2k, Win7, Win10
D5, D2005, D2006, D2007, D10.4.2
BeitragVerfasst: Mo 26.05.08 16:37 
Hab selber ne Lösung gefunden:
Hab mal in die Komponente reindebuggt, was da los ist:
ausblenden 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:
ausblenden 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