Страница 1 из 1

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

Добавлено: 26 ноя 2018, 10: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".

Спасибо.

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

Добавлено: 26 ноя 2018, 12:48
Aleksey
Здравствуйте,

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

Спасибо.