- Status: Fixed
- Priority: Normal
- Resolution: Fixed
- Platform: Android
- Affects version: 1.11.2.0
Добрый день.
Помогите разобраться с проблемой. Уже недели две бьюсь, пытаясь понять, что не так.
Изначально, есть очень большой список, который выводится на fgCollectionView. Все было нормально, пока мне не пришла мысль скидывать элементы списка в файлы (нужно организовать что-то типа кэша).
И я не нашел ничего проще, как сохранять в файл по событию OnBindItem. И вот тут началось... Что бы проверить работу, я пустил список на скроллирование с анимацией fgCollectionView1.ScrollToItem(fgCollectionView1.Count - 1, True);
В этом случае список "прогоняется" полностью. Но в некоторый момент программа "слетает". Анализ логов говорит об ошибке global reference table overflow. Но что это вызывает мне не понятно.
Наконец, мне удалось повторить проблему на тестовом примере. Взял пример из демонстраций CollectionViewScrollDemo. увеличил число итемов до 100000, и сделал скролл в конец списка с анимацией. Плюс, в OnBindItem добавил сохранение в файл. Но записывать в файл даже не пришлось. Ошибка возникала, если просто вставить в код формирование пути к файлу:
Path := TPath.GetSharedDocumentsPath + PathDelim + 'temp';
if not TDirectory.Exists(Path) then
TDirectory.CreateDirectory(Path);
и что здесь не так?
CollectionView - Scrolling with problem.zip - сам пример. После запуска, нажать на кнопку "GO TO END". И ждать...
Видео логов работы приложения:
В хорошем качестве видео по ссылке: https://drive.google.com/file/d/1Up8agxNhA8a9oWwd1GjP_fq_rFGv8gJt/view?usp=sharing
Лог:
delphi 10.4 x32
fgx 1.11.2.0
Recommended Comments
Create an account or sign in to comment