Zitat von
mkinzler:
NPos := Round(CurrentPos * 100 / Size)-1 ;
ist was anderes als
Zitat:
NPos := Round((CurrentPos * 100 / Size) -1);
wenn man die beieden Zeilen herausgelöst aus der Funktion betrachtet, ja.
Nebenbei stand im Code-Ausschnitt
NPos := Round(Abs(CurrentPos * 100 / Size) - 1);
nicht
NPos := Round(CurrentPos * 100 / Size)-1 ;
Zitat von
onlinekater:
Welches Editfenster?
OK, ich hätte natürlich den gesamten Source posten können.
Nein, also ich hätte wohl noch dazuschreiben sollen, was das Prog macht:
Es füllt die Stringlist eines Edit-Fensters.
Das tut es in beiden Fällen korrekt, nur in dem Beispiel mit dem Abs() sieht man es nach dem die erste Zeile erzeugt wurde nicht mehr.
Wenn ich im Debugger das Füllen der Stringlist überwache, passiert bei beiden Beispielen das Gleiche.
In beiden Fällen läuft die Progressbar sauber hoch, d.h. Application.ProcessMessages funktioniert.
Nur beim 2.ten Beispiel wird das Edit-Fenster des Prog's nicht mehr ge-refresht.