Добрый день!
Есть ARD-отчет. В нем 3 цикла по большим таблицам.
Отчет достаточно долгоиграющий, особенно если брать большой период времени(до года), поэтому для каждого цикла есть визуализация с возможностью прерывания.
Пытаюсь в середине выполнения прервать отчет.
Почему-то происходит это очень медленно. Запрос на прерывание выдается, визуализация исчезает, и Гал-ка зависает минут на 5-7.
Выглядит примерно так:
....
.begin
startNewVisual(vtNumericVisual,vfBreak+vfConfirm+vfThread,'выгpyжаю начисления.....',1);
end.
.{ table t1
.....
.begin
if NextVisual()=false { pr_br:=1; stopVisual('',0); break; }
end.
.}
.begin
if pr_br=0 stopVisual('',0);
end.
...
Может, кто-нибудь подскажет, с чем это может быть связано? Как быстро прервать отчет?
Кто сказал, что бесполезно биться головой об стену?!
fbreak прекращает исполнение формы или цикладо момента его нормального заверешения. Если метод вызван в программном блоке цикла, то поисходит выход из цикла, иначе - выход из формы
судя по поведению моей формы, fbreak прерывает не цикл, а всю форму...
Если я прерываю первый цикл, то остальные 2 даже и не пытаются выполниться. Т.е., форма завершает свою работу сразу.
Кто сказал, что бесполезно биться головой об стену?!
И все-таки, похоже, Вы правы))) просто я слишком рано прерывала, ничего не успевало выбраться, вот и отчет останавливался сразу, а если хоть что-то уже навыбирается, то отчет дорабатывает...
Спасибо!
Кто сказал, что бесполезно биться головой об стену?!