Показать сообщение отдельно
Старый 02.10.2020, 18:24   #9  
oleggy is offline
oleggy
Участник
 
256 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
Перевел весь свой код в просто джоб. Что бы предметно дебажить.
X++:
    Counter             countRows, numRows;
    Counter             strFrom = 1, strTo = 4;
    RunbaseProgress     progress = new RunbaseProgress();
    #AviFiles

    void progressUpdate(Counter _curr, Counter _num)
    {
        str percent = strFmt("%1%", decRound((_curr / _num) * 100, 2));

        progress.setText(strfmt("@SYS66083", _curr, _num, percent));
        progress.incCount();
        //progress.update(true);
    }
    ;

    progress.setCaption("Импорт");
    progress.setAnimation(#AviUpdate);

    numRows = strTo - strFrom + 1;
    progress.setTotal(numRows);

    startLengthyOperation();

    for (countRows = 1; countRows <= numRows; countRows++)
    {
        progressUpdate(countRows, numRows);
        sleep(2000);
    }

    endLengthyOperation();
}


Цитата:
Сообщение от mazzy Посмотреть сообщение
вам уже ответили:
а чтобы увидеть значение счетчика внутри прогресса - методом progress.getCount_RU()
К сожалению нет такого метода (DAX2009).
Поэтому смотрел через дебаг. Нумерация у меня идет с нуля.
Перед первым выполнением progress.incCount() значение progress.oprProgress.lapProgress равно 0.
Как вы видете после запуска джоба я вижу только три изменения окна прогресс бара. ТРИ.

Но если я раскомменчу progress.update(true) отображает корректно ЧЕТЫРЕ окна. Четыре итерации.
Т.е. 1 - 25%, 2 - 50%, 3 - 75%, 4 - 100%.

Я почему тему поднял, просто хотелось понять:
1. почему ТАК криво отображается прогресс бар?
2. после какого оператора происходит обновление окна Импорт? Какой метод это делает? Или после какого метода это происходит?
Изображения
   

Последний раз редактировалось oleggy; 02.10.2020 в 19:48.