Перейти к содержанию
Fire Monkey от А до Я

Yuriy2606

Пользователи
  • Постов

    25
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Весь контент Yuriy2606

  1. Добрый день. Так из-за чего такое может произойти? Пол дня уже восстанавливаю, никак не могу добиться чтоб все заработало. 10.3.3.
  2. Ярослав, Вы как всегда - уровень "Бог". Решение работает. Огромное спасибо. ? Нужно тут оставить, может кому-то еще понадобится.
  3. Спасибо за ответ. Подробностей к сожалению нету, но выше я писал, ребята вроде бы разобрались что это баг. Если же у Вас работает, то я обязательно сниму стектрейс и выложу сюда.
  4. Да уж, не весело. Я пока отключил эту функцию в 64 битной версии, тем более что у меня в приложении есть пополнение счета через LiqPay. InAppPurchase был альтернативным способом с 30% убытком Спасибо за ответ.
  5. Здравствуйте коллеги. Переношу рабочий проект Android с 10.3.1 на 10.3.3. Уперся вот в такую проблему: в 64 бит приложение запускается, но спустя пару секунд выскакивает окно с надписью: External exception 1. Окно раз 10 мигает, после чего приложение падает. При этом постоянно закрывая окно можно поработать с приложением. В 32 бит полет нормальный. Пока нашел только вот этот ответ о том, что это баг Rio. Отключение функции покупки в приложении убирает ошибку, но это не вариант. Подскажите, как это решить? Заранее спасибо за ответ.
  6. Здравствуйте коллеги. Переношу рабочий проект Android с 10.3.1 на 10.3.3. Уперся вот в такую проблему в 64 бит приложение запускается, но спустя время выскакивает окно с надписью: External exception 1. Подскажите, как это решить? Заранее спасибо за ответ.
  7. Здравствуйте коллеги. Приложение работает на 10.3.1. Запускается в Windows версии на 10.3.2. Андроид версия 10.3.2 - падает сразу после старта. Также заметил отсутствие множества библиотек. Подкидывал из прошлой версии, но падения при запуске не пропали. Может кто-то подскажет... Заранее спасибо за ответ.
  8. Здравствуйте. Проблема решилась очень просто - обновлением RAD до версии Embarcadero® Delphi 10.3 Version 26.0.33219.4899 Ссылка на торрент https://softtorrent.ru/tt/3276.SoftTorrent.ru.torrent Предыдущую версию полностью удалил -> перезагрузка -> установка свежей версии. Заработало всё в штатном режиме.
  9. Здравствуйте коллеги. Приложение написанное на fmx прекрасно работает на Android 6, 8, на процессорах MTK. При этом пользователи начали жаловаться, что оно не работает на Android 9. Этот вопрос удалось решить Но затем выяснилось, что на процессоре Spreadtrum Unisoc SC9863A приложение также не работает, странно ведут себя rectangle, edit, button. Самый простейший проект (форма + кнопка + edit) заработал. Уже masterdetail из примеров не работает. SDK обновил до последней версии 29. Вывод: нужно ждать delphi 10.4? Или есть какое-то решение. Заранее спасибо за ответ.
  10. Решение: Do any of the following: 1- Update the play-services-maps library to the latest version: com.google.android.gms:play-services-maps:16.1.0 2- Or include the following declaration within the <application> element of AndroidManifest.xml. <uses-library android:name="org.apache.http.legacy" android:required="false" /> Закинул сюда, может кому-то пригодится. Ссылки: https://stackoverflow.com/questions/50461881/java-lang-noclassdeffounderrorfailed-resolution-of-lorg-apache-http-protocolve https://www.delphiworlds.com/2019/02/a-fix-for-using-tmapview-on-android-9-devices/
  11. Здравствуйте форумчане. Столкнулся с проблемой: прекрасно работавшее приложение на Android 8 и ниже, просто вылетает на Android 9 без объяснения причин. Стоит добавить, что в приложении используется карта MapView.
  12. Практика показала, что все работает, хоть и не очень гладко. Для теста пойдет.
  13. На Android 6 и старше, ниже приведенный код работал без проблем. MyNotification:=Form1.NotificationCenter1.CreateNotification; try MyNotification.Name:='MyNotification'; MyNotification.AlertBody:='Test'; MyNotification.Number:=1; MyNotification.FireDate:=Now+EncodeTime(0,0,1,0); Form1.NotificationCenter1.ScheduleNotification(MyNotification); finally MyNotification.DisposeOf; end; Купил телефон с Android 8.1 Oreo и Local Notification перестали срабатывать. Решение: заменить ScheduleNotification на PresentNotification (для кого это не критично). Следующий код работает без проблем MyNotification:=Form1.NotificationCenter1.CreateNotification; try MyNotification.Name:='MyNotification'; MyNotification.AlertBody:='Test'; MyNotification.Number:=1; MyNotification.FireDate:=Now+EncodeTime(0,0,1,0); Form1.NotificationCenter1.PresentNotification(MyNotification); finally MyNotification.DisposeOf; end; Почему так до конца не разбирался (помог метод "научного тыка"), хорошо было бы услышать мнение специалистов по этому поводу. Но думаю пусть будет здесь, может кому-то пригодится.
  14. Решение взято отсюда https://community.idera.com/developer-tools/general-development/f/tools-22/36905/help-delphi-locationsensor-not-giving-coordinates-anymore Думаю такие вещи должны быть тут.
  15. Здравствуйте. Delphi Rio При использовании LocationSensor в Android всё работает отлично. В iOS постоянно выдает NAN, не зависимо от аппарата и SDK.
  16. Здравствуйте коллеги. Где-то я вычитал, что приложение с MapView не будет работать в эмуляторе iOS. Только реальное устройство 64 бит. Так ли это? Заранее спасибо за ответ. С уважением, Юрий.
  17. Как я понимаю, данный вопрос не имеет ответа. А жаль. Вход через Facebook удалил из приложения.
  18. Здравствуйте коллеги. Внедряю в приложение вход через Facebook. Всё получилось, работает. Вот кусок кода: procedure TForm1.Auth; begin //WebForm:=Tfrm_OAuthWebForm.Create(nil); //WebForm. OnAfterRedirect:=AfterRedirect; OAuth2Authenticator1.AccessToken:=EmptyStr; OAuth2Authenticator1.ClientID:=cAppID; OAuth2Authenticator1.ClientSecret:=cAppKey; OAuth2Authenticator1.ResponseType:=TOAuth2ResponseType.rtTOKEN; OAuth2Authenticator1.AuthorizationEndpoint:=cEndPoint; OAuth2Authenticator1.RedirectionEndpoint:=cRedPoint; OAuth2Authenticator1.Scope:=cScopes; WebBrowser1.Visible:=true; WebBrowser1.Navigate(OAuth2Authenticator1.AuthorizationRequestURI); //WebForm.ShowWithURL(OAuth2Authenticator1.AuthorizationRequestURI); end; Пробовал использовать frm_OAuthWebForm и просто WebBrowser, работает и так и так. Но есть проблема: после захода в приложение, при постановке курсора на любой Edit, приложение виснет и вылетает. Стоит убрать WebBrowser - проблема исчезает. Наблюдается только в Android. Windows версия работает без нареканий. Если ответа не найду, то придется исключить Вход через FB, а не хочется. Заранее спасибо за ответ. Delphi 10.1 Berlin Version 24.0.22858.6822
  19. Большое спасибо за ответ. Еще раз внимательнее все проверив у меня все таки получилось динамически запросить разрешения при помощи KastriFree в Berline Запрос сделал так {cPermissionACCESS_COARSE_LOCATION = 'android.permission.ACCESS_COARSE_LOCATION'; cPermissionACCESS_FINE_LOCATION = 'android.permission.ACCESS_FINE_LOCATION'; cPermissionACCESS_NETWORK_STATE = 'android.permission.ACCESS_NETWORK_STATE'; cPermissionCALL_PHONE = 'android.permission.CALL_PHONE'; cPermissionCAMERA = 'android.permission.CAMERA'; cPermissionINTERNET = 'android.permission.INTERNET'; cPermissionREAD_EXTERNAL_STORAGE = 'android.permission.READ_EXTERNAL_STORAGE'; cPermissionREAD_PHONE_STATE = 'android.permission.READ_PHONE_STATE'; cPermissionWAKE_LOCK = 'android.permission.WAKE_LOCK'; cPermissionWRITE_EXTERNAL_STORAGE = 'android.permission.WRITE_EXTERNAL_STORAGE'; } FRequester.RequestPermissions([cPermissionACCESS_FINE_LOCATION,cPermissionACCESS_COARSE_LOCATION,cPermissionREAD_EXTERNAL_STORAGE, cPermissionWRITE_EXTERNAL_STORAGE, cPermissionCAMERA], cPermissionsCodeExternalStorage); Обработка так procedure TForm1.PermissionsResultHandler(Sender: TObject; const ARequestCode: Integer; const AResults: TPermissionResults); begin case ARequestCode of cPermissionsCodeExternalStorage: begin if AResults.AreAllGranted then DoShow; //Что-то делаем else ShowMessage('You need to grant all required permissions for the app to be able to take photos!'); end; cPermissionsCodeSMS: begin if AResults.AreAllGranted then ShowMessage('SMS permissions granted') else ShowMessage('You need to grant all required permissions for the app to be able to handle SMS!'); end; end; end; Там в коде примера KastriFree все описано более подробно https://www.delphiworlds.com/2018/06/targeting-android-8-and-higher-continued/ Вот ссылка, это для тех, у кого Berlin
  20. Здравствуйте коллеги. Написал приложение с необходимостью разрешений LocalSensor, MediaLibrary, Read/Write Storage и т.д. С АПИ Левел 14 все работало на ура. Дошел до выкладки на Play Market и уперся в API level 26. Нашел решение для Tokio (у меня Berlin) - KastriFree ( https://www.delphiworlds.com/2018/06/targeting-android-8-and-higher-continued/) попробовал реализовать как в статье и все равно не работает, приложение просто закрывается сразу после открытия. Ошибка I/O 17 в первом же месте обращения к файлам на карте памяти. Если в манифесте указать таргетлевел 14, то все нормально запускается и работает. Но такое приложение не пускает фильтр Play Marketa. Что делать? Как быть? И еще, думал скачать RAD 10.3 Community, получил на почту ключ, но на этапе установки после ввода ключа пишет, что не может обратиться к серверу. Если кто знает ответ - дайте ссылку, пожалуйста.
  21. Здравствуйте коллеги. Проблему с зависанием приложения решил при помощи отслеживания Hide приложения и MapView1.Visible:=false; Соответственно при возобновлении активности делаю MapView1.Visible:=true; Зависания почти пропали на 90%. Прыгающий GPS я победил отключением WiFi/GSM локации. Оставил только GPS. Как-то это костыльно, масса пользователей до этого не догадаются и на карте будет куча прыгающих машин.
  22. Здравствуйте коллеги. Приятно, что есть люди, готовые помочь Проблема следующая: Программа содержит карту MapView на которую наносятся маркеры в динамике (раз в 10 сек передвигаются машинки по карте). Все нормально работает пока я не перейду к другой активности. После возобновления моей активности, с вероятностью 50\50, приложение не отображается, просто черный экран, иногда на черном экране появляются кнопки Google карты. Помогает снятие процесса приложения и запуск его заново. Проверено на двух девайсах. Методом логирования я вычислил, что приложение падает тут: begin try mapPolygon.DisposeOf; //тут исключение except end; SetLength(Outline,5); Outline[0]:=TMapCoordinate.Create(VLLat, VLLon); Outline[1]:=TMapCoordinate.Create(VLLat, NPLon); Outline[2]:=TMapCoordinate.Create(NPLat, NPLon); Outline[3]:=TMapCoordinate.Create(NPLat, VLLon); Outline[4]:=TMapCoordinate.Create(VLLat, VLLon); Plg:=TMapPolygonDescriptor.Create(Outline); Outline:=nil; Plg.StrokeColor := TAlphaColorRec.Slateblue; Plg.StrokeWidth := 3; Plg.Geodesic := True; Plg.ZIndex := 0.9; //Plg.FillColor := TAlphaColorRec.Yellow; try mapPolygon := Form1.MapView1.AddPolygon(Plg); //зависает тут, и это при наличии try except except end; end; Ставил перехват события сворачивания приложения и запрет на обновление карты при этом. Но это не помогло. В приложении используются потоки типа: TThread.CreateAnonymousThread(procedure () begin TThread.Synchronize(nil, procedure begin end); end).Start; Вышеуказанная отрисовка в основном потоке, по таймеру. Может в этом причина? Одним словом не знаю что делать. Пока смирился, но надеюсь на лучшее. И еще, вычислил только что: в приложении используется LocationSensor1.Sensor и для отладки я использую FakeGPS. Почему-то LocationSensor1.Sensor в большинстве случаев выдает правильные координаты из FakeGPS, а иногда те, которые он получает по wifi/gsm. При этом на улице, с отключеным Fake GPS, наблюдается то же самое, но реже. Это странно. При этом синяя точка на карте отображается в правильном месте. Может кто-то сталкивался? Заранее спасибо за ответы. 10.1 Berlin
  23. Добрый день. Та же проблема. Бьюсь уже 3 дня. Уже думаю уходить на Android Studio (: Смогли решить? Или может кто-то подскажет...
×
×
  • Создать...