Форум по Delphi программированию

 



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.06.2020, 00:42
UFO 007 UFO 007 вне форума
Новичок
 
Регистрация: 28.11.2010
Сообщения: 51
Репутация: 10
Восклицание Висюк при обработке исключений try except в Android

Доброго всем времени суток!
Почему в этой ветке: Андрюха - тоже ОС (балшой паласатый мух) ...
А присказка такова - в ХЕ8 такое:
Код:
procedure TForm1.FormShow(Sender: TObject);
var
  recievemessage, tmp: string;
begin
  try
    IdTCPClient1.Connect;
    IdTCPClient1.Socket.WriteLn('Get_Data');
    recievemessage:= IdTCPClient1.Socket.ReadLn;
    IdTCPClient1.Disconnect;
  except
    on E:Exception do
    begin
      Showmessage('Не удалось установить соединение');
      exit
    end;
  end; 
//   как-то обрабатываем recievemessage...
end;
вызывает зависание и парадокс в том, что виснет только тел (РедМи4 с Андрюхой 6.0), а под эмулятором (МЕМУ с Андрюхой 5.1.1) прога пускается и очень даже работает... Как это врачевать - ни кто не в курсе?
З.Ы. И стрелка "назад" не выходит из проги ни в теле, ни в эмуляторе.
Заранее благодарен
__________________
...И был сначала ZX-Spectrum, а потом его T(urbo)ASS(e)M(bler)... И только на 7-й день (когда Интел купила Пентковского [из КБ Бабаяна]) - появился Pentium-I... А в Союзе P-II был ещё в 1978 году (точнее: Эльбрус [мультискалярный проц] только не рапространялся спекулянтами, а управлял ракетами и спутниками)... А лет с пяток назад Эльбрус-II ПЁР (но никак не ГНАЛСЯ как Селероны) на F(recuency):= 400 GHz... А самое парадоксальное - презентация состоялась в Минске...
Ответить с цитированием
  #2  
Старый 06.06.2020, 05:53
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,607
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, для начала, поставить Timeout в какое-то разумное значение.
Во вторых, проверить запрашиываемые программой доступы и добавить доступ к инету, если не указан.
Ответить с цитированием
  #3  
Старый 15.06.2020, 00:52
UFO 007 UFO 007 вне форума
Новичок
 
Регистрация: 28.11.2010
Сообщения: 51
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Ну, для начала, поставить Timeout в какое-то разумное значение.
А какое из них разумное (я так понимаю - там mS) - 10? 20? 50?

Цитата:
Сообщение от lmikle
Во вторых, проверить запрашиываемые программой доступы и добавить доступ к инету, если не указан.
... доступ к инету мне покуда и даремно не надь: сервер ещё не написан - тут другое: try/except - если в евентах формы убрать FormShow (или закоментить 3 строки с упоминанием Клиента), то прога нормально работает и на теле, а в данной ипостаси - только под эмулятором (делает
Код:
Showmessage('Не удалось установить соединение');
) при чём хоть Хонор и ругается, что прога откомпилена для старой версии Андроида но виснет наглухо а Редми (без FormShow, но при нажатии "Отправить") манипуляциями рабочий стол-диспетчер задач-туда-сюда-обратно удаётся вывести из висюка и табслайдить все имеющиеся листбоксы, едиты и т. д.
Центральный вопрос: почему под эмулятором try/except (без которого и эмулятор вис) всё очень даже работает, а в тЕлах - висюк? Неужто "китайфоны" не подозревают, что существуют такие вещи как исключения?
__________________
...И был сначала ZX-Spectrum, а потом его T(urbo)ASS(e)M(bler)... И только на 7-й день (когда Интел купила Пентковского [из КБ Бабаяна]) - появился Pentium-I... А в Союзе P-II был ещё в 1978 году (точнее: Эльбрус [мультискалярный проц] только не рапространялся спекулянтами, а управлял ракетами и спутниками)... А лет с пяток назад Эльбрус-II ПЁР (но никак не ГНАЛСЯ как Селероны) на F(recuency):= 400 GHz... А самое парадоксальное - презентация состоялась в Минске...
Ответить с цитированием
  #4  
Старый 04.07.2020, 23:31
UFO 007 UFO 007 вне форума
Новичок
 
Регистрация: 28.11.2010
Сообщения: 51
Репутация: 10
По умолчанию

Вот и дошёл ход - сервер написан (пока - прототип на Дельфи) и всё очень даже работает самым чудным образом: клиент в телефоне собирает с ТЕдитов строку и отправляет серверу, который (пока) заполняет ею одноимённые ТЕдиты. Но стоит сэмулировать ситуацию: у сервера села батарейка (ну, или автомат выбило) - нажимаем крестик справа вверху и при нажатии "Отправить" тЕлы виснут... Как врачевать?
__________________
...И был сначала ZX-Spectrum, а потом его T(urbo)ASS(e)M(bler)... И только на 7-й день (когда Интел купила Пентковского [из КБ Бабаяна]) - появился Pentium-I... А в Союзе P-II был ещё в 1978 году (точнее: Эльбрус [мультискалярный проц] только не рапространялся спекулянтами, а управлял ракетами и спутниками)... А лет с пяток назад Эльбрус-II ПЁР (но никак не ГНАЛСЯ как Селероны) на F(recuency):= 400 GHz... А самое парадоксальное - презентация состоялась в Минске...
Ответить с цитированием
  #5  
Старый 05.07.2020, 20:54
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,607
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Еще раз - там тайм-аут надо ставить.
Попробуй что-то типа того:
Код:
xxx.ReadTimeout := 3000; // 3 sec
Надо смотреть что в компоненте используется. Да, ставить таймаут надо до Connect.
Ответить с цитированием
  #6  
Старый 12.11.2020, 02:35
Goras Goras вне форума
Прохожий
 
Регистрация: 10.11.2019
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

А что, разве можно после коннекта поставить?
Цитата:
Надо смотреть что в компоненте используется. Да, ставить таймаут надо до Connect.
Ответить с цитированием
  #7  
Старый 12.11.2020, 23:17
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,607
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Поставить то можно, вот только толку...
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:23.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2020

ВКонтакте   Facebook   Twitter