Прерывание экспорта отчёта
                    Так же как и в  Прерывания события печати отчёта требуется прервать экспорт отчёта, если пользователь выбрал не разрешённый носитель информации.
Сейчас сделано у меня так (урезанный пример):
1. Есть форма с отчётом и классом экспорта. Для класса экспорта есть подписка на событие:
Код работает, но работает он "не по правилам". А как будет правильно прерывать экспорт, при этом с возможностью проверить путь сохранения?
P.S. Попытка использовать тоже самое, что было указано в теме "Прерывания события печати отчёта" не была удачной...
                
                            Сейчас сделано у меня так (урезанный пример):
1. Есть форма с отчётом и классом экспорта. Для класса экспорта есть подписка на событие:
  TdmReport = class(TDataModule)
    frxXMLExport: TfrxXMLExport;
    frxReport: TfrxReport;
    procedure frxXMLExportBeginExport(Sender: TObject);
    ...
  end;
В обработчике события происходит проверка выбранного пользователем пути и прерывание (при необходимости):
procedure TdmReport.frxXMLExportBeginExport(Sender: TObject);
var
  ExportFilter: TfrxCustomExportFilter;
begin
  ExportFilter := TfrxCustomExportFilter(Sender);
  if not TAccessChecks.AccessSave(ExportFilter.FileName) then
  begin
    ... { Говорим пользователю, что сюда сохранять нельзя }
    {$REGION 'временное решение проблемы'}
    ExportFilter.FileName := '';
    ExportFilter.Stream := nil;
    {$ENDREGION}
    Exit;
  end;
  { Если всё хорошо, то делаем что-то другое }
  ...
end;
Код работает, но работает он "не по правилам". А как будет правильно прерывать экспорт, при этом с возможностью проверить путь сохранения?
P.S. Попытка использовать тоже самое, что было указано в теме "Прерывания события печати отчёта" не была удачной...
Комментарии
Может быть Вы в следующих версиях сделаете, как при печати, проверку "frxReport.Terminated" или что-то подобное реализуете в TfrxCustomExportFilter?
А то это это становится похоже на то, как я извращался с Preview в DevExpress-е, что бы там контролировать печать, печать в файл, экспорт...
Да и такой подход потом может выйти боком, если Вы измените формы и добавится ещё в какие нибудь меню возможности экспорта... Особенно, если такие действия мне нужно совершать со всеми видами экспорта (которые могут сохраняться в файл).
P.S. С наилучшими пожеланиями реализовать всё так, что при наличии "прямых рук" у программиста, он мог управлять практически всеми процессами