Jump to content

Вызов событий TfgCollectionView после TfgForm.OnDestroy


yuri
 Share

Recommended Posts

Доброго времени суток.

Все началось с получение странной ошибки при закрытии дочерней формы: "Значение [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

  • Administrators

Добрый день,

Судя по описанию - это однозначно баг. После OnDestroy никакие события компонентов формы не должны вызываться, конечно.

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...