yuri Posted June 1, 2021 Share Posted June 1, 2021 Доброго времени суток. Все началось с получение странной ошибки при закрытии дочерней формы: "Значение [0] не попадает в требуемый диапазон [0, -1]. Не могу выполнить запрос стиля. Поскольку указанный...". После нескольких часов отладки удалось выяснить что если у формы задана тема c именем не по умолчанию, то во время уничтожения формы (уже после TfgForm.OnDestroy где обычно чистятся все локальные данные) форма проставляет для TfgCollectionView.parent := nil, что в свою очередь сбрасывает стиль в "Theme", а это тригерит события OnGetItemCount в процедуре GetStyleForItemIndex, ну а дальше уже ошибка описанная выше. Если сделать на fgFormDestroy вызвать TfgCollectionView.ReloadItems, то сообщение WM_RELOAD_ITEMS все равно не успевает отработать. Сейчас, для корректной работы, я на fgFormDestroy уничтожаю руками свой экземпляр TfgCollectionView. В связи с этим вопрос - это баг или просто не документированная особенность и я делаю что-то не так? P.S. Delphi 10.4.2, FGX native 1.11.0.0, Andoind 32-bit. FormDestroyBug.zip Link to comment Share on other sites More sharing options...
Administrators Yaroslav Brovin Posted June 1, 2021 Administrators Share Posted June 1, 2021 Добрый день, Судя по описанию - это однозначно баг. После OnDestroy никакие события компонентов формы не должны вызываться, конечно. Link to comment Share on other sites More sharing options...
Administrators Viktor Akselrod Posted June 3, 2021 Administrators Share Posted June 3, 2021 Здравствуйте. Ошибка подтверждена. Ваша сообщение переведено в баг трекер. 1 Link to comment Share on other sites More sharing options...
Administrators Yaroslav Brovin Posted July 14, 2021 Administrators Share Posted July 14, 2021 Исправлено в 1.11.2.0. Link to comment Share on other sites More sharing options...
Recommended Posts