powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не работает try except на Андроиде 7.0
49 сообщений из 49, показаны все 2 страниц
Не работает try except на Андроиде 7.0
    #40047055
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delphi 8 (RAD)

Не работает try except на Андроиде 7.0
При возникновении ошибки приложение вылетает без сообщения.

Есть какие-то варианты ловить ошибку на Андроиде?
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047061
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb,

Какое исключение-то? Если аппаратное, то смотрти доку .
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047068
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такое исключение

Код: pascal
1.
2.
3.
4.
5.
  try
    INI := TINIFile.Create('test.ini');
  except on e: exception do
    ShowMessage(e.Message);
  end;
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047072
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Интересно что им помешало сделать невидимый фиктивный вызов функции внутри try/except на анроиде?
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047075
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb
Вот такое исключение

Класc какой?

rgreat
Интересно что им помешало сделать невидимый фиктивный вызов функции внутри try/except на анроиде?

Видимо то же, что помешало и оптимизации ллвм'овские использовать. Это, кстати, не только ведроида касается, а вообще всех некстгенов.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047076
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Sergey_rb
Вот такое исключение

Класc какой?

rgreat
Интересно что им помешало сделать невидимый фиктивный вызов функции внутри try/except на анроиде?

Видимо то же, что помешало и оптимизации ллвм'овские использовать. Это, кстати, не только ведроида касается, а вообще всех некстгенов.


Класс
Код: pascal
1.
TINIFile
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047077
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Kazantsev Alexey,

Интересно что им помешало сделать невидимый фиктивный вызов функции внутри try/except на анроиде?


Чтобы на Дельфи не писали, а переходили на Андроид студию.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047084
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Видимо то же, что помешало и оптимизации ллвм'овские использовать.

Ну оптимизации могут в теории и всякие сбои давать. Да и и так не высокую скорость работы компилятора снизить.
Могли это на потом оставить. Это все не столь важно, в общем.

А вот ненадежная работа try/except это явная и заведомая ошибка архитектора.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047086
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Говорят, что до версии ведроида 6.0 try/except работал, значит умышленно убрали.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047093
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb
Класс
Код: pascal
1.
TINIFile


Класс исключения.

rgreat
А вот костыль с try/except это явное заведомое упущение.

К слову, ни Oxygene, ни FPC c LLVM бэкендом такие исключения тоже не перехватывают, но в FPC эта задача значится в списке.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047095
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb
Говорят, что до версии ведроида 6.0 try/except работал, значит умышленно убрали.

https://stackoverflow.com/questions/38243473/exception-handling-broken-in-delphi-xe8-android
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047100
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

Типа в 10.4 пофиксили?
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047103
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
Типа в 10.4 пофиксили?

Не, там о другом.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047126
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем надо решать вопрос, на чем писать для терминала сбора данных для Андроида.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047165
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Migrating_Delphi_Code_to_Mobile_from_Desktop
раздел Use a Function Call in a try-except Block to Prevent Uncaught Hardware Exceptions

т.е. вместо

Код: pascal
1.
2.
3.
4.
5.
  try
    INI := TINIFile.Create('test.ini');
  except on e: exception do
    ShowMessage(e.Message);
  end;


делаешь
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  procedure T;
  begin
    INI := TINIFile.Create('test.ini');
  end;
   
  try
    T;
  except on e: exception do
    ShowMessage(e.Message);
  end;
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047176
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2,

Не прокатило, вылетел без сообщений

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure TForm1.btnOkClick(Sender: TObject);
begin
  try
    LoadINI;
  except on e: exception do
    ShowMessage(e.Message);
  end;
end;

procedure TForm1.LoadINI;
var
  INI: TINIFile;
begin
    INI := TINIFile.Create('test.ini');
end;
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047183
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb,

отучитесь на андроиде использовать ShowMessage
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047189
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
Sergey_rb,

отучитесь на андроиде использовать ShowMessage


Почему?
Сам по себе ShowMessage работает.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047190
inbox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы запустил проект под отладкой, и посмотрел почему не срабатывает исключение.


Без отладки вообще нечего делать, это как тыкать писей в пруд(Может поймаешь рыбку).
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047195
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inbox
Я бы запустил проект под отладкой, и посмотрел почему не срабатывает исключение.


Без отладки вообще нечего делать, это как тыкать писей в пруд(Может поймаешь рыбку).


Исключение не срабатывает из-за версий Delphi и Android.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047207
Фотография Kast2K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
uses FMX.Helpers.Android;

procedure TTestForm.ShowInformationMessage(const AText: string);
  CallInUiThread (
        procedure
        begin
          TJToast.JavaClass.makeText (TAndroidHelper.Context,
              StrToJCharSequence(AText), TJToast.JavaClass.LENGTH_LONG).show;
        end
  );
end;
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047208
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb,

а кстати, какая именно версия делфи используется?)
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047214
inbox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey_rb

Исключение не срабатывает из-за версий Delphi и Android.


Что такое исключение ? Давайте разберёмся для начало в этом.

Простой пример
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
uses
  System.SysUtils;

begin
  try
    Raise Exception.Create('Test Exception');
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

end.



Отладчик говорит
Код: pascal
1.
2.
3.
4.
5.
6.
Project1.dpr.11: Raise Exception.Create('Test Exception');
0041E5A4 B940E64100       mov ecx,$0041e640
0041E5A9 B201             mov dl,$01
0041E5AB A130344100       mov eax,[$00413430]
0041E5B0 E847AAFFFF       call Exception.Create
0041E5B5 E84A85FEFF       call @RaiseExcept




То есть, создаётся класс, и вызывается RaiseExcept


По сути, нам надо отследить, что происходит при вызове

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
procedure _RaiseAtExcept(Obj: TObject; Address: Pointer);
var
  Params: Array[0..6] of NativeUInt;
  ExceptionRecord: TExceptionRecord;
  //CurRaiseFrame: PRaiseFrame;
begin
  if Obj = nil then
    _RunError(216); // reAccessViolation

  Params[0] := UIntPtr(Address);
  Params[1] := UIntPtr(Pointer(Obj));
  Params[2] := 0 {EBX};
  Params[3] := 0 {ESI};
  Params[4] := 0 {EDI};
  Params[5] := 0 {EBP};
  Params[6] := 0 {ESP};

  if RaiseExceptObjProc <> nil then
  begin
    //CurRaiseFrame := RaiseListPtr;
    ExceptionRecord.ExceptionCode := cDelphiException;
    ExceptionRecord.ExceptionFlags := cNonContinuable;
    ExceptionRecord.ExceptionRecord := nil;
//  if CurRaiseFrame <> nil then
//    ExceptionRecord.ExceptionRecord := CurRaiseFrame^.ExceptionRecord;
    ExceptionRecord.ExceptionAddress := Address;
    ExceptionRecord.NumberParameters := 7;
    ExceptionRecord.ExceptionInformation[0] := Params[0];
    ExceptionRecord.ExceptionInformation[1] := Params[1];
    ExceptionRecord.ExceptionInformation[2] := Params[2];
    ExceptionRecord.ExceptionInformation[3] := Params[3];
    ExceptionRecord.ExceptionInformation[4] := Params[4];
    ExceptionRecord.ExceptionInformation[5] := Params[5];
    ExceptionRecord.ExceptionInformation[6] := Params[6];
    TRaiseExceptObjProc(RaiseExceptObjProc)(@ExceptionRecord);
  end;
  RaiseExceptionProc(cDelphiException, cNonContinuable, 7, @Params);
end;
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047215
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
Sergey_rb,

а кстати, какая именно версия делфи используется?)


Delphi 8
Android 7.0

В первом посте написано...
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047217
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb
Delphi 8
Что-что?!
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047218
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inbox,

У меня есть подозрение, что на Андроиде код не доходит до Raise, вместо этого просто останавливается приложение.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047219
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb,

что то я сильно сомневаюсь, что вы используете Delphi 8, которая была выпущена в декабре 2003 года и которая не поддерживает андроид в принципе))))
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047221
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kast2K
попробуйте так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
uses FMX.Helpers.Android;

procedure TTestForm.ShowInformationMessage(const AText: string);
  CallInUiThread (
        procedure
        begin
          TJToast.JavaClass.makeText (TAndroidHelper.Context,
              StrToJCharSequence(AText), TJToast.JavaClass.LENGTH_LONG).show;
        end
  );
end;




А это интересный вариант, надо попробовать.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047223
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
Sergey_rb,

что то я сильно сомневаюсь, что вы используете Delphi 8, которая была выпущена в декабре 2003 года и которая не поддерживает андроид в принципе))))


Прочитайте первое сообщение
Delphi 8 от RAD Studio
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047226
inbox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Он имел введу XE8 А вы как вцепились, лишь бы орнуть.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047227
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb
Прочитайте первое сообщение
Delphi 8 от RAD Studio
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047229
inbox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat,

Хватит показывать свой низкий интеллект.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047231
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inbox
Он имел введу XE8 А вы как вцепились, лишь бы орнуть.

Даже если это XE8 - это древнее говно.
Пусть ставит хотя бы XE 10.3 CE и тестит.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047234
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inbox
Хватит показывать свой низкий интеллект.
В точных науках лучше "низкий интеллект" чем "бурная фантазия".
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047235
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb
asutp2
Sergey_rb,

что то я сильно сомневаюсь, что вы используете Delphi 8, которая была выпущена в декабре 2003 года и которая не поддерживает андроид в принципе))))


Прочитайте первое сообщение
Delphi 8 от RAD Studio
Вы Delphi 8 от Delphi XE8 не отличаете?)))
Для справки, в XE8 нет поддержки Android 7
Нужно использовать как минимум 10.3.3
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047237
inbox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreat
inbox
Хватит показывать свой низкий интеллект.
В точных науках лучше "низкий интеллект" чем "бурная фантазия".


Он даже про Delphi 8 не в курсе. И не понимает вашего бессмысленного рофла.


По этому, вы глумитесь над человеком который не смыслит на развитие Delphi. Для него 8 это XE8
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047239
inbox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
inbox

По этому, вы глумитесь над человеком который не смыслит на развитие Delphi. Для него 8 это XE8


По этому я могу по глумиться над вами, что будет более объективнее и имеет больше смысла.

"ХА-ХАА, Во дают - отличить Delphi с Android от Delphi 2008 не омгут "
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047241
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inbox
Он даже про Delphi 8 не в курсе. И не понимает вашего бессмысленного рофла.

У нас ситуация: "через рофлы к знаниям".
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047244
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inbox
По этому я могу по глумиться над вами, что будет более объективнее и имеет больше смысла.

"ХА-ХАА, Во дают - отличить Delphi с Android от Delphi 2008 не омгут "

О, Няшик оттаял
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047246
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inbox
По этому я могу по глумиться над вами, что будет более объективнее и имеет больше смысла.

"ХА-ХАА, Во дают - отличить Delphi с Android от Delphi 2008 не омгут "

...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047247
inbox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kazantsev Alexey

О, Няшик оттаял


Много девственниц в жертву принесли? Что бы узнать кто по ту сторону экрана.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047250
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у человека машина - десятка, то все знают что это ВАЗ-2110.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047251
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
Sergey_rb
пропущено...


Прочитайте первое сообщение
Delphi 8 от RAD Studio
Вы Delphi 8 от Delphi XE8 не отличаете?)))
Для справки, в XE8 нет поддержки Android 7
Нужно использовать как минимум 10.3.3


У меня сейчас вопрос выбора языка - Delphi или Java или, на крайний случай C#/С++.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047253
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
19.02.2021 17:21, Sergey_rb пишет:
> У меня сейчас вопрос выбора языка - Delphi или Java или, на крайний случай C#/С++.

бери Питон.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047256
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

Проходите мимо...
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047281
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb
Delphi 8
Android 7.0

В первом посте написано...
Вам же сразу написали
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40047287
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey_rb

У меня сейчас вопрос выбора языка - Delphi или Java или, на крайний случай C#/С++.

Охренеть.

YouTube Video
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40048279
Sergey_rb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для WinCe 6.0 писал на Лазаре, для WinCe 7.0 на Embedded C++.
На чем писать под Андроид - пока вопрос.
...
Рейтинг: 0 / 0
Не работает try except на Андроиде 7.0
    #40048294
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey_rb,

Для лазаря есть https://github.com/jmpessoa/lazandroidmodulewizard
...
Рейтинг: 0 / 0
49 сообщений из 49, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не работает try except на Андроиде 7.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]