Как перехватить эксепшен при формировании превью?

Обсуждение Stimulsoft Reports.NET
Michael
Сообщения: 24
Зарегистрирован: 21 июн 2006, 15:59
Откуда: Russia, Moscow
Контактная информация:

Как перехватить эксепшен при формировании превью?

Сообщение Michael »

Обновил в своей программе генератор отчетов с 2013.2 на 2014.1. Дальше обновляться не могу, т.к. пока хочется сохранить совместимость с Framework 2.0.
После этого обновления у некоторых пользователей с высокой вероятностью стали происходить эксепшены при генерации превью отчета. Воспроизвести ошибку мне не удается, даже на тех же данных и на тех же ОС. Вероятно, проблема в конфигурации ОС пользователей. При этом у пользователей мелькает вот это окно:
96.png
96.png (47.86 КБ) 4559 просмотров
и в результате они видят вот такое превью:
97.png
97.png (36.61 КБ) 4559 просмотров
При этом распечатывается отчет корректно. Нажать в первом окне кнопку "Сведения" невозможно, т.к. оно очень быстро исчезает. В связи с этим хочется как-то перехватить этот эксепшен и получить стек вызова. Как вариант, записать данную ошибку в лог. Ну и в идеале - вообще исключить данную ошибку.
Любой путь начинается с первого шага
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Как перехватить эксепшен при формировании превью?

Сообщение HighAley »

Здравствуйте, Михаил.

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

Спасибо.
Michael
Сообщения: 24
Зарегистрирован: 21 июн 2006, 15:59
Откуда: Russia, Moscow
Контактная информация:

Re: Как перехватить эксепшен при формировании превью?

Сообщение Michael »

Проблема возникает не всегда, вероятность 90%. Возникает при отображении превью отчета. От самого отчета и данных в нем не зависит, у меня десятки шаблонов отчетов, ошибка возникает на разных и зависит скорее от компьютера пользователя. Причем на одном может стабильно работать без проблем, на другом стабильно выдавать ошибку.

Вот темы с обсуждением этой ошибки: http://printstore.ru/forum/viewtopic.php?t=1210, http://printstore.ru/forum/viewtopic.php?t=1217.

Я нашел, что есть следующие настройки генератора отчетов:
StiOptions.Engine.HideExceptions
StiOptions.Engine.HideMessages
StiOptions.Engine.LogEnabled
StiOptions.Engine.TraceEnabled

Но документацию и примеров кода по ним я не нашел и непонятно, например, применимы ли данные настройки к движку Reports.Net и куда сохраняется лог, если его включить.

Есть только вот что:
10.7 How to show all exceptions which are invoked in Stimulsoft
Reports.Net?
Set the static StiOptions.Engine.HideExceptions property in false.
Здесь непонятно, установка данного параметра в TRUE только скроет окошки с информацией об исключении или пробросит их на уровень выше и я смогу обработать это исключение?
Любой путь начинается с первого шага
Michael
Сообщения: 24
Зарегистрирован: 21 июн 2006, 15:59
Откуда: Russia, Moscow
Контактная информация:

Re: Как перехватить эксепшен при формировании превью?

Сообщение Michael »

С логом разобрался - создается файл report.log в папке программы. Есть ли возможность настройки лога?
Любой путь начинается с первого шага
DmitryRu
Сообщения: 163
Зарегистрирован: 19 май 2014, 10:40

Re: Как перехватить эксепшен при формировании превью?

Сообщение DmitryRu »

Михаил, Вы бы кнопку "Сведения" на первом скриншоте нажали бы для пояснения проблемы
Michael
Сообщения: 24
Зарегистрирован: 21 июн 2006, 15:59
Откуда: Russia, Moscow
Контактная информация:

Re: Как перехватить эксепшен при формировании превью?

Сообщение Michael »

Пожалуйста, читайте внимательнее, я написал в первом сообщении:
Нажать в первом окне кнопку "Сведения" невозможно, т.к. оно очень быстро исчезает.
Если бы можно было нажать эту кнопку, вопрос давно был бы закрыт.
Любой путь начинается с первого шага
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Как перехватить эксепшен при формировании превью?

Сообщение HighAley »

Здравсвтуйте.

Вы можете использовать следующий код для включения лога.

Код: Выделить всё

Stimulsoft.Report.StiLogService.LogEnabled = true;
StiLogService service = StiConfig.Services.GetService(typeof(StiLogService)) as StiLogService;
service.LogPath = "Report.log"; // Path and filename
Попробуйте также посмотреть журнал событий Windows. Там должна сохраняться информация об ошибках.

Спасибо.
Michael
Сообщения: 24
Зарегистрирован: 21 июн 2006, 15:59
Откуда: Russia, Moscow
Контактная информация:

Re: Как перехватить эксепшен при формировании превью?

Сообщение Michael »

Спасибо. Я уже собрал версию с Stimulsoft.Report.StiLogService.LogEnabled = true. При этом лог файл формируется в папке с программой. Отправил пользователю, жду ответа.
Любой путь начинается с первого шага
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Как перехватить эксепшен при формировании превью?

Сообщение HighAley »

Ждём новостей от вас.

Спасибо.
Michael
Сообщения: 24
Зарегистрирован: 21 июн 2006, 15:59
Откуда: Russia, Moscow
Контактная информация:

Re: Как перехватить эксепшен при формировании превью?

Сообщение Michael »

Пользователь мне ответил. Вот содержимое файла:

2015:09:14, 16:02: Отчет: Rendering report
2015:09:14, 16:02: Отчет: Rendering report
2015:09:14, 16:03: Отчет: Rendering report
2015:09:14, 16:03: Отчет: Rendering report

Сообщение об ошибке проскакивает, вместо предпросмотра красный квадрат, в лог ничего не пишется. Есть ли еще какие-то варианты понять причины ошибки?
Любой путь начинается с первого шага
Ответить