StiDesignerControl, общее значение StiBuilder.PagesCount

Обсуждение Stimulsoft Reports.Net
Ответить
Андрей К
Сообщения: 1
Зарегистрирован: 26 ноя 2018, 06:58

StiDesignerControl, общее значение StiBuilder.PagesCount

Сообщение Андрей К » 26 ноя 2018, 07:10

Добрый день.

Возникла проблема при работе с компонентом "StiDesignerControl".
При создании более одного экземпляра компонента и установки значения для свойства "StiDesignerControl.Report" возникает ошибка:

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

Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index
   в System.Collections.CollectionBase.System.Collections.IList.Insert(Int32 index, Object value)
   в Stimulsoft.Report.Design.StiBuilder.BuildReport()
   в Stimulsoft.Report.Design.StiActions.MainMenu.InvokeRegNewReport(StiDesignerControl designer, StiReport report)
Удалось выяснить, что это скорее всего происходит из-за static-свойства "StiBuilder.PagesCount", которое увеличивается с каждым созданным экземпляром компонента.
Если перед кодом "StiDesignerControl.Report = someReport" написать:

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

typeof(StiBuilder)
    .GetProperty("PagesCount", BindingFlags.Static | BindingFlags.NonPublic)
    .SetValue(null, 1);
То ошибки нет. Видимо, значение сбрасывается после удаления компонента, в методе "StiDesignerControl.Dispose".

Спасибо.
Aleksey
Сообщения: 2033
Зарегистрирован: 22 апр 2010, 02:57

Re: StiDesignerControl, общее значение StiBuilder.PagesCount

Сообщение Aleksey » 26 ноя 2018, 09:48

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

Проблема исправлена. Фикс будет в следующем билде на этой неделе.

Спасибо.
Ответить