Завершение печати.
Доброгр времени суток.
Хочу печатать отчеты. Сделал форму, положил на нее нужные мне компоненты, связанные с FastReport (сам репорт, компоненты экспорта и т.п.), сделал процедуры загрузки, выгрузки, печати отчетов, в компоненте frReport свойство ShowProgress установил в False. После этого печатаю отчеты следующим образом:
Если время, через которое вызывается эта функция, не очень маленькое, то все работает нормально, но если человек печатает слишком быстро, то выдается ошибка типа "Printing in progress". Если у frReport установить свойство ShowProgress в True, то такого не происходит. Но мне не нужно, чтобы выводилось окошко с прогрессом во-первых, потому что это не нужно, а во вторых потому, что слишком "шустрые" операторы успевают нажать кнопку "Отмена" и потом возмущаются, почему отчеты не распечатываются.
Можно ли как-то отследить, когда закончилась печать, чтобы, например, вызывать frmReport.Release только после того, как все ушло на принтер? Или я делаю что-то не так и можно сделать иначе?
С уважением,
Денис.
Хочу печатать отчеты. Сделал форму, положил на нее нужные мне компоненты, связанные с FastReport (сам репорт, компоненты экспорта и т.п.), сделал процедуры загрузки, выгрузки, печати отчетов, в компоненте frReport свойство ShowProgress установил в False. После этого печатаю отчеты следующим образом:
procedure TTRDRashodForm.PrintReestr(const Condition, ATitle: String;
const REP_ID: Integer);
var
frmReport:TfrmReport;
begin
frmReport:=TfrmReport.Create(Self);
try
frmReport.Database:=dmTrader.dbTrader;
frmReport.RasReestrPrint(Condition,ATitle,REP_ID);
finally
frmReport.Release;
end;
end;
Если время, через которое вызывается эта функция, не очень маленькое, то все работает нормально, но если человек печатает слишком быстро, то выдается ошибка типа "Printing in progress". Если у frReport установить свойство ShowProgress в True, то такого не происходит. Но мне не нужно, чтобы выводилось окошко с прогрессом во-первых, потому что это не нужно, а во вторых потому, что слишком "шустрые" операторы успевают нажать кнопку "Отмена" и потом возмущаются, почему отчеты не распечатываются.
Можно ли как-то отследить, когда закончилась печать, чтобы, например, вызывать frmReport.Release только после того, как все ушло на принтер? Или я делаю что-то не так и можно сделать иначе?
С уважением,
Денис.
Комментарии
Решил опять поднять эту тему, т.к. ответа, к сожалению, не нашел, а проблема опять стала давать знать о себе. Может все-таки кто-нибудь посоветует что делать или хотя бы укажет направление, где можно покапаться.
С уважением,
Денис Помозов.