-
В программе использую стандартный и TKOLQProgressBar. При работе их обоих одинаково глючит. При небольшом значении MaxProgress (около 160 000 000) все нормально, но вот при больших значениях при изменении прогресса этот самый прогресс скатывается в минуса! при этом переменная, которая в программе отвечает за хранение прогресса, находится в плюсах. Работа с Прогрессбар-ами у меня организованна так: var progress: integer;
GcfProgress.MaxProgress:=GetItemSize;
.....
progress:=progress+FileSize;
GcfProgress.Progress:=progress;
-
Попробуй что-нибудь типа этого:
var ItemSize, progress: integer;
ItemSize:=GetItemSize;
GcfProgress.MaxProgress:=100;
.....
progress:=progress+FileSize;
GcfProgress.Progress:=Trunc(progress/ItemSize*100);
-
Спасибо, помогло :) буду знать, как делать в следующий раз ;)
ЗЫ: А на VCL так, как я написал, работало 100% и работает до сих пор, а вот на КОЛ - нет :(
-
> andreil © (04.03.08 21:43) [2] > Спасибо, помогло :) буду знать, как делать в следующий раз > ;)ЗЫ: А на VCL так, как я написал, работало 100% и работает > до сих пор, а вот на КОЛ - нет :(
Я вообще не вижу смысла оперировать в программе реальными (большими) значениями прогресса, передавая это значение контролу - проще работать с процентной величиной, как посоветовал Compiler. А скатывается в минуса, скорее всего, потому что значение где-то превышает размерность типа данных.
-
Я понял ;) Щас переделал под процентное отображение - все ОК. Спасибо.
|