Опять про разрушение объектов, созданный в скрипте

отредактировано 19:37 Раздел: FastReport 3.0
Приветствую!

Здесь уже обсудили вопрос "автоматического" разрушения объектов, созданных в скрипте отчета. Однако как быть если формирование отчета завершается аварийно (и, между нами говоря, не всегда по моей вине)? Так в случае ошибки в процессе подготовки отчета упомянутый FileStream "держит" файл аж до закрытия приложения.
IMHO - неправильно это. Я понимаю, что созданные в скрипте объекты нельзя разрушать сразу, т.к. они могут использоваться, например, "интерактивными" отчетами. Но можно хотя бы освобождать их при frxReport.Clear? А еще лучше при возникновении ЛЮБЫХ необработанных ошибок?

Во втором случае нужно учесть, что FR иногда (хотя и редко) умалчивает об эксепшенах (возможно нарывается на пустой блок except в конструкции try).

Комментарии

  • отредактировано 19:37
    Пользуйтесь событиями TfrxReport.OnStartReport/OnStopReport, они сработают даже при наличии аварийных ошибок.
  • отредактировано 19:37
    Спасибо за совет.
    Только одно "но". Если я правильно понял, то эти события отработают сразу после окончания формирования отчета, что делает их применение невозможным в случае упомянутых live-отчетов.
    Хотя... У меня и "лайвов" то пока нету... ;) Но ввобще, мне кажется, что этот вопрос было бы не лишним проработать как следует (не обязательно к следующей версии, но и не откладывать до FR4 ;) ).

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

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