我有一个正在处理的程序,它会在执行多次后将进度条增加一定值。 问题是进度条未正确更新但查看通过调试器传递给进度条的值表示正确传递了递增值。 进度条最大值设置为100。
这是我的代码段
function ParseasArray(Const sInput: String): TMyArray;
var
iCount, iIncrement, iSizeofArray, iStepper, iPercenter, iTester,
iHolder: Integer;
dDoubleCalcVal: Double;
begin
iIncrement := 1;
iPercenter := 10;
iHolder := 1;
iSizeofArray := Trunc(Length(sInput) / 2);
SetLength(result, iSizeofArray);
for iCount := 1 to iSizeofArray do
begin
// do some work
dDoubleCalcVal := (((iCount) / iSizeofArray));
iStepper := Trunc(dDoubleCalcVal * 100);
iTester := Trunc((iPercenter * iSizeofArray) / 100);
if iCount = iTester then
begin
Form1.Indicator.Position := iStepper;
inc(iPercenter, 10);
end;
inc(iIncrement, 2);
end;
end;
我的IDE版本
Delphi XE7 Update 1
感谢。