Andrew_A
-
Постов
5 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Andrew_A
-
-
-
-
Бага попила много крови, после нахождения причины хотелось плакать и смеяться одновременно.
Дано: Delphi 11.0 Version 28.0.42600.6491, таргет Android x64, дефолтный Android SDK 26.1.1, конечная версия ОС - Android 11. С другой конфигурацией пока не проверял.
Симптом: Приложение вылетает с "Segmentation fault 11" или "Exception class 6" при его закрытии.
Как воспроизвести: бросаем на форму ЛЮБОЙ контрол (например, TButton) со свойством .CanFocus равным True. Запускаем приложение на таргете в режиме отладки. Делаем любое действие с контролом, например, нажимаем наш TButton. Можно даже без обработчика OnClick. Закрываем приложение системной стрелкой Андроида. Ловим Exception.
Как избежать: во ВСЕХ контролах в проекте, имеющих свойство .CanFocus ставим его в False. Проблема изчезает.
P.S. Заметил, что с TSwitch проблема остается даже с .CanFocus=False. С TEdit тоже беда - без .CanFocus=True на Андроиде он просто не работает. Описанное выше подтверждаю как минимум для TButton, TTabItem, TCheckBox, TComboBox, TEdit
-
Забавно, вопрос был поднят 7 (семь !!!) лет назад, вышло не одно обновление среды разработки, у вот у меня с Delphi 11 та же беда - если таргет Windows и у формы свойство Fullscreen = True, жесты мышью не работают. В оконном режиме и с таргетом Андроид таких проблем нет. Решения не нашел.
Delphi 11, Android: "Segmentation fault 11" или "Exception class 6" при закрытии приложения из-за .CanFocus=True
в Отладка
Опубликовано
Интересно, в одном и том же приложении может появиться как Segmentation fault 11, так и Exception class 6. Последнее чаще, при этом exception возникает тут: