yuri Posted June 1, 2021 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
Administrators Yaroslav Brovin Posted June 1, 2021 Administrators Posted June 1, 2021 Добрый день, Судя по описанию - это однозначно баг. После OnDestroy никакие события компонентов формы не должны вызываться, конечно.
Administrators Viktor Akselrod Posted June 3, 2021 Administrators Posted June 3, 2021 Здравствуйте. Ошибка подтверждена. Ваша сообщение переведено в баг трекер. 1
Administrators Yaroslav Brovin Posted July 14, 2021 Administrators Posted July 14, 2021 Исправлено в 1.11.2.0.
Recommended Posts