После перехода на дистриб VectorLinux в приложении перестал корректно работать ProgressBar - вешал систему напрочь. После длительной разборки выяснил, что (пример условный):
- Код: Выделить всё
i:Integer;
.....
ProgressBar.Position:=0;
ProgressBar.Max:=200;
for i:=0 to 1000 do
ProgressBar.Position:=Round(i/5);
...и система встает (загрузка ЦП 100%). Сами значения Round(i/5) - 9 знаков с минусом.
Стоило поменять тип i на Double - все заработало нормально. С одной стороны, надо вызывать Round корректно, с аргументом float, с другой - раньше такой фокус проходил...
Какие мнения?