Skip to content
View in the app

A better way to browse. Learn more.

FGX Native

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Yaroslav Brovin

Administrators
  • Joined

  • Last visited

Everything posted by Yaroslav Brovin

  1. The library is asynchronous in General. So if you use Sleep you freeze application main event loop. Please, consider using callbacks and events model for do it.
  2. Ouch, sorry. One moment.
  3. Выложил 1.4.0.1 с исправлением TfgCheckBox и TfgRadioButton.
  4. Ждали лицензию на RAD Studio 10.4. Все работы по поддержке 10.4 уже провели. Сегодня мы наконец-то получили ключи. Завтра будет еще один релиз с поддержкой RAD Studio 10.4.
  5. Принял. Через 30 минут выложу релиз c хот фиксом.
  6. Hello Luke, Do you have demo sample? Thank you
  7. Download : The distributive is available by request only. Release d ate: 1 July 2020 Changelog: * Using CheckBox and RadioButton leads to application crash.
  8. Скачать: Релиз доступен только по запросу. Дата релиза: 01 июля 2020 Список изменений: * Использование CheckBox и RadioButton приводило к падению приложения
  9. Добрый день, Эта ошибка еще воспроизводится на 1.3.0.0?
  10. Исправлено в 1.4.0.0 для TForm, TfgLayout.
  11. Download : The distributive is available by request only. Release d ate: 1 July 2020 Changelog: ~ Loss of backward compatibility: - Regenerated Android Api headers files: Android.Api.*.pas. - The Migration instruction is available here: https://forum.fgx-native.com/topic/364-%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%81%D1%82%D0%B0%D1%80%D0%BE%D0%B3%D0%BE-android-%D0%BC%D0%BE%D1%81%D1%82%D0%B0-%D0%BD%D0%B0-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9 * TfgForm: - The specified color in the design-time System SystemStatusBar.BackgroundColor did not change the color in the runtime. Fixed. * Android-Delphi bridge: - The principle of operation of the bridge has been changed. Now the class wrapper is only used for accessing class members and creating instances of Java classes. - Now all Java object wrapper methods accept an interface type, not a class type, as was previously the case. - The Migration instruction is available here: https://forum.fgx-native.com/topic/364-%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%81%D1%82%D0%B0%D1%80%D0%BE%D0%B3%D0%BE-android-%D0%BC%D0%BE%D1%81%D1%82%D0%B0-%D0%BD%D0%B0-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9 * Android Api: - New headers for some Android Api classes were added. Extended java.lang.Class methods list and added new headers for android.widget.NumberPicker. - All headers files were translated on using Delphi interfaces. - The old deprecated headers are not compatible with 1.4.0.0. - FGX.Helpers.Android were extended with new set of helpers methods for quick conversion Delphi types and Java types. - Existing methods set were extended with new set of methods, which works with array types. - All deprecated methods in Android API now are marked as deprecated and includes information about Android API version, when method was deprecated. * TfgControl.HitTest: - #178 [HitTest] HitTest is broken https://gitlab.com/y.brovin/fgx/-/issues/178 - #497 CardPanel OnTap is invoked, when HitTest=false and not invoked, when HitTest=true https://gitlab.com/y.brovin/fgx/-/issues/497 - #367 [TfgCardPanel] Event OnTap is invoked, when HitTest = False https://gitlab.com/y.brovin/fgx/-/issues/367 - #8 [HitTest] [OnTap] HitTest is not accounted in child controls https://gitlab.com/y.brovin/fgx/-/issues/8 - OnTap on form https://forum.fgx-native.com/topic/86-ontap-%D0%BD%D0%B0-%D1%84%D0%BE%D1%80%D0%BC%D0%B5/ - HitTest doesn't work https://forum.fgx-native.com/topic/341-hittest-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82/ * Localization: - Now The assets designer generates localized Assets.Consts.pas file version. Migration instruction from 1.3.0.0 -> 1.4.0.0:
  12. Скачать: Релиз доступен только по запросу. Дата релиза: 01 июля 2020 Список изменений: ~ Потеря обратной совместимости: - Переработана заголовочные файлы Android API: Android.Api.*.pas. - Инструкция о миграции доступна здесь: https://forum.fgx-native.com/topic/364-%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%81%D1%82%D0%B0%D1%80%D0%BE%D0%B3%D0%BE-android-%D0%BC%D0%BE%D1%81%D1%82%D0%B0-%D0%BD%D0%B0-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9 * TfgForm: - Заданный цвет в design-time SystemStatusBar.BackgroundColor не менял цвет рантайме. Исправлено. * Android-Delphi мост: - Изменен принцип работы моста. Теперь классовая обертка используется только для доступа к классовыми членам и создания экземпляров Java классов. - Теперь все методы обертки джава объектов принимают интерфейсный тип, а не классовый, как было ранее. - Инструкция о миграции доступна здесь: https://forum.fgx-native.com/topic/364-%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%BC%D0%B8%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%81%D1%82%D0%B0%D1%80%D0%BE%D0%B3%D0%BE-android-%D0%BC%D0%BE%D1%81%D1%82%D0%B0-%D0%BD%D0%B0-%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9 * Android Api: - Добавлены обертки для новых классов из Android API. В частности расширены методы java.lang.Class и добавлены обертка для android.widget.NumberPicker. - Все заголовочные файлы переведены на использование интерфейсов. - Старые заголовочные файлы больше не совместимы с 1.4.0.0. - Расширен набор вспомогательных методов в FGX.Helpers.Android для быстрой конвертации Delphi типов в Java и наоборот. - Расширен набор методов для уже существующих типов, работаюших с массивами. - Теперь все устаревшие методы Android API помечены, как deprecated и содержат информацию о версии Android, когда метод стал устаревшим. * TfgControl.HitTest: - #178 [HitTest] Поломался HitTest https://gitlab.com/y.brovin/fgx/-/issues/178 - #497 CardPanel OnTap срабатывает при HitTest=false и не срабатывает при HitTest=true https://gitlab.com/y.brovin/fgx/-/issues/497 - #367 [TfgCardPanel] Отрабатывает событие OnTap при HitTest = False https://gitlab.com/y.brovin/fgx/-/issues/367 - #8 [HitTest] [OnTap] Не учитывается свойство HitTest у дочерних компонентов при работе OnTap https://gitlab.com/y.brovin/fgx/-/issues/8 - OnTap на форме https://forum.fgx-native.com/topic/86-ontap-%D0%BD%D0%B0-%D1%84%D0%BE%D1%80%D0%BC%D0%B5/ - HitTest не работает https://forum.fgx-native.com/topic/341-hittest-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82/ * Локализация: - Теперь дизайнер ресурсов генерирует локализованную версию Assets.Consts.pas файл. Инструкция по миграции с 1.3.0.0 на 1.4.0.0:
  13. Исправлено в 1.4.0.0.
  14. Всем доброго дня! Как и обещал ранее, перед релизом 1.4.0.0 выкладываю инструкцию о миграции использования старого Android-Delphi моста на новый в 1.4.0.0. Это руководство актуально тем разработчикам, которые используют Android Api в своих проектах. В этой статье я рассмотрю только те аспекты в работе моста, которые изменились. По большей части изменения были необходимы только в свете поддержки RAD Studio 10.4, в которой была полностью удалена поддержка модели памяти ARC. 1. Создание Java объекта: Было: var Intent: TJIntent; Intent := TJIntent.Create; Стало: var Intent: JIntent; Intent := TJIntent.Create; Все объявления переменных, атрибутов и тд должны быть теперь именованы без префикса "T". TJActivity -> JActivity. 2. Передача Java объектов через Java интерфейс: Было: // Декларация метода. Принимает атрибут интерфейсного типа CharSequence. TJTextView.setError(const AArg0: JCharSequence); // Java cтрока TJString реализует интерфейс JCharSequence. Поэтому передача идет напрямую (в старой версии моста). View.setError(StringToJString(Control.Error)); Стало: // Декларация метода. Принимает атрибут интерфейсного типа CharSequence. TJTextView.setError(const AArg0: JCharSequence); // Теперь обертка Java cтроки TJString НЕ реализует явно интерфейс JCharSequence. Поэтому необходима явная конвертация JString -> JCharSequence View.setError(TJCharSequence.Wrap(StringToJString(Control.Error))); // Или можно воспользоваться хелпером из FGX.Helpers.Android.pas View.setError(StringToJCharSequence(Control.Error)); 3. Работа с Java массивами: При создании экземпляра Java массива (TJavaArray<T>) вся работа теперь осуществляется через интерфейс IJavaArray<T>. Было: var Points: TJavaArray<Single>; Points := TJavaArray<Single>.Create(0); FCanvas.drawLines(Points, FStroke); Стало: var Points: IJavaArray<Single>; Points := TJavaArray<Single>.Create(0); FCanvas.drawLines(Points, FStroke); 4. Работа с Java-листенерами: Если вы реализовывали свои листенеры через наследование класса Java.Bridge.TJavaLocal, то в 1.4.0.0 листенеры теперь поддерживают счетчик ссылок через Delphi IInterface. Это значит, что при создании листенера, его необходимо сохранять в переменную/поле интерфейсного типа, а не объектного. Было: TfgAndroidCameraStateListener = class(TJavaLocal, JCameraStateListener) private [Weak] FCamera: TfgAndroidCamera; public constructor Create(const ACamera: TfgAndroidCamera); { JCameraStateListener } procedure onClosed(const AArg0: JCameraDevice); procedure onDisconnected(const cameraDevice: JCameraDevice); procedure onError(const cameraDevice: JCameraDevice; const errorCode: Integer); procedure onOpened(const cameraDevice: JCameraDevice); end; var FStateListener: TfgAndroidCameraStateListener FStateListener := TfgAndroidCameraStateListener.Create(Self); FStateCallback.setListener(FStateListener); Стало: TfgAndroidCameraStateListener = class(TJavaLocal, JCameraStateListener) private [Weak] FCamera: TfgAndroidCamera; public constructor Create(const ACamera: TfgAndroidCamera); { JCameraStateListener } procedure onClosed(const AArg0: JCameraDevice); procedure onDisconnected(const cameraDevice: JCameraDevice); procedure onError(const cameraDevice: JCameraDevice; const errorCode: Integer); procedure onOpened(const cameraDevice: JCameraDevice); end; var FStateListener: JCameraStateListener FStateListener := TfgAndroidCameraStateListener.Create(Self); FStateCallback.setListener(FStateListener); В противном случае, экземпляр листенера FStateListener будет удален сразу же после вызова FStateCallback.setListener(FStateListener); Что в свою очередь приведет к последующим падения приложения. Так как сработает механизм подсчета ссылок Delphi интерфейсов. 5. Конвертация string <-> JString: До RAD Studio 10.4 мобильные компиляторы поддерживали добавление операторов неявного преобразования. Это в свою очередь позволило нам реализовать автоматическую конвертацию "на лету" Delphi string <-> Java JString. В 10.4 эту возможность убрали вместе с ARC, так как неявное преобразование реализуется через ARC. Поэтому теперь нужно явно вызывать преобразование строк через StringToJString и JStringToString: Было: TjUri.parse('tel:+'); Стало: uses FGX.Helpers.Android; TJUri.parse(StringToJString('tel:+')) Это все изменения, которые необходимо сделать.
  15. Если какого-то Андроид апи не хватает, я всегда могу его добавить в ближайший релиз. только дайте мне знать, чего не хватает.
  16. Hello Luke, Yes. We publish trial version with a delay. But anyway new build will be available later for you also. Thank you
  17. Вы могли бы прикрепить демо проект, который у вас на видео? Спасибо
  18. Hello Luke, It's fixed in 1.3.0.0. Thank you
  19. Проблема актуальна еще? Если нет, то я закрою этот топик.
  20. Исправлено в 1.3.0.0. Просьба отписаться, актуальна ли еще проблема.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.