Последовательный вывод отчетов

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Den_Is
Постоянный обитатель
Сообщения: 169
Зарегистрирован: 08 авг 2005, 20:11
Откуда: Омск

Последовательный вывод отчетов

Сообщение Den_Is »

В интерфейсе формируется несколько отчетов, последовательно друг за другом. После того как сформирован первый начинется расчет второго (занимает какоето время, примерно час), потом следующий. Отчеты не выводятся на экран, а просто складываются в определенную папку. В шедулере настроил проверку этой папки и если там появляется файлы отчетов то они копируются по сети определенным пользователям, с удалением из текущей папки. Все это дело вызывается в автоматическом режиме по расписанию.
Теперь сам вопрос.
Описываю в начале все формы
Form form1('OUT\%USER%\form1.slk') With NoVisual;
Form form2('OUT\%USER%\form2.xls') With NoVisual;
Form form3('OUT\%USER%\form3.xls') With NoVisual;
P
Затем идут процедуры расчета.
После того как сформирован первый отчет делаю
form1.PutEvent(feBreak);
Затем вызывается процедура расчета следующего отчета и так по порядку.
Так вот после того как появился первый отчет form1 его не возможно открыть (и тем более переместить из текущей папки), т.е. он заблокирован до конца работы программы.
Сделал вывод всех отчетом одновременно в конце программы, одним махом, но такой вариант не очень удобен тем что приходится ждать пока не отработают все процедуры.
Может быть кто подскажет как выйти из такой ситуации.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Последовательный вывод отчетов

Сообщение m0p3e »

Сам не пробовал, но по описанию вроде подходит:

Код: Выделить всё

Метод PrepareOutFile   

Назначение
Функция готовит отчет к печати, не показывая его.

Описание
procedure PrepareOutFile : boolean;

Результат
Функция возвращает логическую истину true, если операция прошла успешно.
Делаем сразу после feBreak.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Последовательный вывод отчетов

Сообщение edward_K »

Ну если фейс ваш, то можно и form1.abortform сделать.
oiko
Местный житель
Сообщения: 418
Зарегистрирован: 29 мар 2005, 17:49

Re: Последовательный вывод отчетов

Сообщение oiko »

Сделайте 3 интерфейса каждый с 1 отчетом. И запускайте их по-очереди из четвертого.
Ответить