Цитата:
Сообщение от
trud
...
А зачем вызов "if (this.isInBatch()) " в методе run?
...
Из батча выполнится только run(), и тогда из него нужно позвать runAfterOperation(), а для обычного запуска ( без батча) run() запустится асинхронно, а runAfterOperation() уже после, в синхронном режиме, для того чтобы проинтерактировать с юзером например. Это опционально можно и не делать вовсе.
Цитата:
Сообщение от
trud
...
еще вопрос - а если вернуть в canRunInNewSession() = true, не получится ли упросить код?
Тогда в Main() нужно вызвать runOperation() а он имеет атрибут final, его нельзя перекрыть для запуска прогрессбара в виде SysOperationProgressWait перед стартом асинхронной операции. Хотя конечно можно выкрутиться и запустить его в prompt() после супера. И еще нужно не забыть где то его потушить.
Варианты всегда есть, ну или почти всегда. Когда уже становится ясно как именно работает этот прогресбар в 7, то и варианты могут различные найтись. Может быть кто то покопается еще и найдет способ оживить старый прогресбар.