- 0
TidHTTP не работает в Android 6
-
Похожий контент
-
- 20 ответов
- 5 123 просмотра
-
- 3 ответа
- 2 134 просмотра
-
- 2 ответа
- 2 699 просмотров
-
- 7 ответов
- 5 719 просмотров
-
- 37 ответов
- 10 835 просмотров
-
Тормоза при первом переключении вкладок TTabControl
От Евгений Корепов,
- Delphi XE8
- Android
- (и ещё 2 )
- 5 ответов
- 3 075 просмотров
-
- 1 ответ
- 1 615 просмотров
-
Исключить устройства с Intel Atom как не поддерживаемые 1 2 3
От Евгений Корепов,
- Android
- Delphi XE8
- (и ещё 1 )
- 55 ответов
- 10 874 просмотра
-
- 3 ответа
- 2 399 просмотров
-
- 6 ответов
- 2 361 просмотр
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
Евгений Корепов
TidHTTPClient перестал работать в Android 6. При попытке Get приложение закрывается с segmentation fault. То же самое приложение на всех остальных версиях андроида работает нормально.
На эмуляторе проверить не удалось, по какой то причине эмулятор с андроид 6 у меня запускается около часа, а попытка отладки приводит к зависанию дельфи.
Взял на пол часа живое устройство, отладка показала что крах происходит на стадии разбора результата. Т.е. данные с сервера реально получает (это подтверджают логи сервера), и при попытке вернуть результат все умирает. Код простой:
Падает на строке HTTP.Get(AURL,HTTPResult);, try не срабатывает. Запрос именно http, не https.
К сожалению живое устройство было у меня не долго, досконально разобраться не успел.
Выяснил что падает на строке 1423 в idHTTP.pas:
IOHandler.ReadStream(LS, -1, True);
У кого будут какие мысли? Понятно что разработчики забили на Indy довольно давно, но не хочется целиком десяток проектов переписывать.
P.S. System.Net.HTTPClient работает в тех же условиях, не падает, но не смог заставить работать cookie, разбираюсь в чем дело. Хотя при отсутствии таймаутов и обработки редиректов применение сего очень ограничено.
Ссылка на комментарий
14 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.