Перехват Exception

отредактировано 01:22 Раздел: FastReport 4.0
FReport:= TfrxReport.Create(nil);
  FReport.EngineOptions.NewSilentMode:= simReThrow;
.........................................................................

  try
    FReport.ShowReport;
  except
    on E: Exception do ShowMessage(E.Message);
  end;

Почему-то не могу перехватить эксепшн, хотя вроде установил свойство которое его рерайзит . Есть идеи?
Сам эксепшн валится из-за того что в репорте используется вызов хранимой процедуры на которую у пользователя нет прав, вот я и хотел
красиво перехватить это сообщение и отформатировать его на русский язык, но что-то не получилось.
Может быть у кого-то есть идеи как это можно сделать еще более красиво, т.е аккуратно выйти из построения отчета не показывая превью
и не вываливая стандартный мессейджбокс?

Комментарии

  • отредактировано 01:22
    В принципе нашел и сам. Но может кому пригодится.

    FReport.PrepareReport(true);
    FReport.ShowPreparedReport;

    При таком коде, происходит аккуратное падение на preparereport и нормально отваливаемся в эксепшн + не появляется окно превью.
  • Lizard~Lizard~ Тольятти
    отредактировано 01:22
    WildFrag написал: »
    Почему-то не могу перехватить эксепшн, хотя вроде установил свойство которое его рерайзит . Есть идеи?
    Читать справку по TfrxReport
    EngineOptions.NewSilentMode
    Можно задать различную реакцию на исключение.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.