Я имел в виду как это сделать программно из ДЕЛФИ. Может у объекта фрРЕПОРТ есть какое-нить свойство, чтобы прервать печать отчета, точнее даже до его запуска на принтер при возникновении события онПринтРепорт.
При нажатии на кнопку печать в предварительном просмотре возникает событие onPrintReport в котором прозводятся определенные действия и пользователю выдается сообщение с 2-я кнопками "Да" и "Нет".
1. Если пользователь выбрал "Да", то необходимо выполнить дополнительные действия, а именно запустить хранимую процедуру на сервере и продолжить печать отчета. Процедура производит логирование операции печати. Если вдруг процедура возвращает RAISE, то выдается сообщение об ошибке и необходимо прервать печать отчета.
2. Если пользователь выбрал "Нет", то хранимую процедуру запускать не нужно и как следствие этого необходимо прервать печать отчета.
Проблема возникает в случае если процедура возвращает RAISE и если пользователь нажимает кнопку "Нет".
Комментарии
Для прерывания формирования отчета достаточно нажать кнопку отмена в окне "Preparing report..."
Конкретнее сформулируйте вопрос.
При нажатии на кнопку печать в предварительном просмотре возникает событие onPrintReport в котором прозводятся определенные действия и пользователю выдается сообщение с 2-я кнопками "Да" и "Нет".
1. Если пользователь выбрал "Да", то необходимо выполнить дополнительные действия, а именно запустить хранимую процедуру на сервере и продолжить печать отчета. Процедура производит логирование операции печати. Если вдруг процедура возвращает RAISE, то выдается сообщение об ошибке и необходимо прервать печать отчета.
2. Если пользователь выбрал "Нет", то хранимую процедуру запускать не нужно и как следствие этого необходимо прервать печать отчета.
Проблема возникает в случае если процедура возвращает RAISE и если пользователь нажимает кнопку "Нет".
P.S. Надеюсь, что описал достаточно доступно.
Вам нужно прерывать именно печать, может стоит эту процедуру вызывать перед формированием отчета?