Alex Bozhko Опубликовано 24 апреля, 2014 Поделиться Опубликовано 24 апреля, 2014 Примерно такой код: ComboBox1.Items.Clear; for I:= 0 to 3 do begin ComboBox1.Items.AddObject( IntToStr(I), TObject(I)); end; Валится ошибка в мобильном приложении под Андроид (запускаю под Nexus 7 2012). Class segmentation fault(11) В десктопном FM приложении код работает как часы (собственно, он и должен работать). Вероятно, это не совсем проблема компонента, но поймал ее именно при работе с ним. Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 24 апреля, 2014 Администраторы Поделиться Опубликовано 24 апреля, 2014 Ошибка вашего кода, не связанная с TComboBox. Под мобильными платформами работает ARC - Автоматический подсчет ссылок. В вашем примере, вы добавляете псевдообъект: TObject(I) При добавлении объекта у него должен увеличиваться счетчик ссылок RefCount (поле объекта). Компилятор автоматически вызывает системный метод TObject: function __ObjAddRef: Integer; virtual; В этом методе идет увеличение внутреннего поля FRefCount. А так как объекта физически не существует, то вы получаете Access Violation. Ссылка на комментарий
0 Alex Bozhko Опубликовано 24 апреля, 2014 Автор Поделиться Опубликовано 24 апреля, 2014 Спасибо, разобрался. Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 24 апреля, 2014 Администраторы Поделиться Опубликовано 24 апреля, 2014 Не за что. Ссылка на комментарий
Вопрос
Alex Bozhko
Примерно такой код:
Валится ошибка в мобильном приложении под Андроид (запускаю под Nexus 7 2012).
Class segmentation fault(11)
В десктопном FM приложении код работает как часы (собственно, он и должен работать).
Вероятно, это не совсем проблема компонента, но поймал ее именно при работе с ним.
Ссылка на комментарий
3 ответа на этот вопрос
Рекомендуемые сообщения