Benten
-
Posts
121 -
Joined
-
Last visited
-
Days Won
10
Content Type
Profiles
Forums
Events
Store
Blogs
Posts posted by Benten
-
-
Нашел такой интересный момент, как настроить доступ демона gradle через прокси, если блокируются IP адреса - Accessing the web through a proxy
Теперь вопрос: А как собственно добавить эти настройки в проект FGX?
Example 22. Configuring an HTTP proxy using gradle.properties systemProp.http.proxyHost=www.somehost.org systemProp.http.proxyPort=8080 systemProp.http.proxyUser=userid systemProp.http.proxyPassword=password systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
-
32 минуты назад, Viktor Akselrod сказал:
Попробуйте в качестве теста воспользоваться любым VPN сервисом.
Поэкспериментирую конечно с vpn, но боюсь. что это не поможет. Java уже обновил до 18 версии.
Кстати, если удалить папку .gradle и запустить сборку, то будет видно в output, что gradle таки закачивается, но не запускается
СпойлерBuild started 23.12.2022 16:08:14.
__________________________________________________
Project "C:\Users\yuris\Documents\FGX Native\Samples\PushNotification - Receive\PushNotificationDemo.dproj" (Make target(s)):
Target _PasCoreCompile:
c:\program files (x86)\embarcadero\studio\22.0\bin\dccaarm.exe -$O- --no-config -M -Q -TX.so -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults -DDEBUG;;FRAMEWORK_xfm -E.\Android\Debug -I"c:\program files (x86)\embarcadero\studio\22.0\lib\Android\debug";"C:\Android\FGX Native\Libs\280\Android\Debug";"c:\program files (x86)\embarcadero\studio\22.0\lib\Android\Release";"C:\Android\FGX Native\Libs\280\Android\Release";"C:\Android\FGX Native\Libs\Common\Android\Debug\armeabi-v7a" -LEC:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Android -LNC:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Android -NU.\Android\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap; -O"c:\program files (x86)\embarcadero\studio\22.0\lib\Android\Release";"C:\Android\FGX Native\Libs\280\Android\Release";"C:\Android\FGX Native\Libs\Common\Android\Debug\armeabi-v7a" -R"c:\program files (x86)\embarcadero\studio\22.0\lib\Android\Release";"C:\Android\FGX Native\Libs\280\Android\Release";"C:\Android\FGX Native\Libs\Common\Android\Debug\armeabi-v7a" -U"c:\program files (x86)\embarcadero\studio\22.0\lib\Android\debug";"C:\Android\FGX Native\Libs\280\Android\Debug";"c:\program files (x86)\embarcadero\studio\22.0\lib\Android\Release";"C:\Android\FGX Native\Libs\280\Android\Release";"C:\Android\FGX Native\Libs\Common\Android\Debug\armeabi-v7a" --libpath:C:\Android\NDK\android-ndk-r21\platforms\android-23\arch-arm\usr\lib;C:\Android\NDK\android-ndk-r21\sources\cxx-stl\llvm-libc++\libs\armeabi-v7a --linker:C:\Android\NDK\android-ndk-r21\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe -V -VN -NO.\Android\Debug PushNotificationDemo.dpr
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:08.56
Build started 23.12.2022 16:08:24.
__________________________________________________
Project "C:\Users\yuris\Documents\FGX Native\Samples\PushNotification - Receive\PushNotificationDemo.dproj" (Deploy target(s)):
Target _CleanRemoteDir:
Cleaning APK Output Directory: .\Android\Debug\PushNotificationDemo
c:\program files (x86)\embarcadero\studio\22.0\bin\paclient.exe -u8 --Clean=".\Android\Debug\PushNotificationDemo,C:\Users\yuris\Documents\FGX Native\Samples\PushNotification - Receive\PushNotificationDemo._@emb_.tmp"
Platform Assistant Client Version 13.2.11.7
Copyright (c) 2010-2022 Embarcadero Technologies, Inc.
Deleting file(s)...
Total file(s) deleted: 1 file(s) 2 dir(s)
Deleting file "C:\Users\yuris\Documents\FGX Native\Samples\PushNotification - Receive\PushNotificationDemo._@emb_.tmp".
Target StripAndroidLibrary:
Creating directory "C:\Users\yuris\Documents\FGX Native\Samples\PushNotification - Receive\Android\Debug\PushNotificationDemo\debug".
Copying file from "C:\Users\yuris\Documents\FGX Native\Samples\PushNotification - Receive\Android\Debug\libPushNotificationDemo.so" to "C:\Users\yuris\Documents\FGX Native\Samples\PushNotification - Receive\Android\Debug\PushNotificationDemo\debug\libPushNotificationDemo.so".
c:\program files (x86)\embarcadero\studio\22.0\bin\paclient.exe -u8 --stripdebug="C:\Android\NDK\android-ndk-r21\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-strip.exe,C:\Users\yuris\Documents\FGX Native\Samples\PushNotification - Receive\Android\Debug\libPushNotificationDemo.so,C:\Users\yuris\Documents\FGX Native\Samples\PushNotification - Receive\.android-build\app\src\main\library\lib\armeabi-v7a\libPushNotificationDemo.so"
Platform Assistant Client Version 13.2.11.7
Copyright (c) 2010-2022 Embarcadero Technologies, Inc.
Target BuildPackage:
gradlew app:build
Downloading https://services.gradle.org/distributions/gradle-7.4-bin.zip
...........10%...........20%...........30%...........40%...........50%...........60%...........70%...........80%...........90%...........100%
Welcome to Gradle 7.4!
Here are the highlights of this release:
- Aggregated test and JaCoCo reports
- Marking additional test source directories as tests in IntelliJ
- Support for Adoptium JDKs in Java toolchains
For more details see https://docs.gradle.org/7.4/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\yuris\Documents\FGX Native\Samples\PushNotification - Receive\.android-build\build.gradle' line: 3
* What went wrong:
Plugin [id: 'com.android.application', version: '7.3.0', apply: false] was not found in any of the following sources:
- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'com.android.application:com.android.application.gradle.plugin:7.3.0')
Searched in the following repositories:
Gradle Central Plugin Repository
Google
MavenRepo
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 34s
C:\Android\FGX Native\MSBuild\FGX.Delphi.Android.Targets(80,5): error MSB3073: The command "gradlew app:build" exited with code 1.
Done building target "BuildPackage" in project "PushNotificationDemo.dproj" -- FAILED.
Done building project "PushNotificationDemo.dproj" -- FAILED.
Build FAILED.
C:\Android\FGX Native\MSBuild\FGX.Delphi.Android.Targets(80,5): error MSB3073: The command "gradlew app:build" exited with code 1.
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:36.16 -
21 минуту назад, Yaroslav Brovin сказал:
TfgAssetsManager
Методы TfgAssetBitmapSet.FindBitmap теперь возвращают ложь, если существует только информация об изображении без самого изображения (Bitmap = nil).
Ярослав, можете дать небольшой фрагмент кода, как это использовать?
-
4 минуты назад, Yaroslav Brovin сказал:
2. Взять лицензию с предыдущей версии
- Открыть каталог "C:\ProgramData\FGXNative\License"
- Скопировать файл лицензии от предыдущей версии.
- Переименовать новый файл согласно текущей версии FGX Native. Например: "1.14.4.1.lcs".
- Перезапустить/запустить Delphi.
Ярослав, спасибо, пошел по этому пути, как наиболее простому. Delphi запустилась, проект компилируется.
Только один вопрос остался, что могут означать вот эти восклицательные знаки?
-
-
1 час назад, Yaroslav Brovin сказал:
Если это не помогает, то нужно удалить шаблоны java файлов сервиса. которые лежат в корне проекта сервиса и заново выполнить полную сборку.
Это помогло, спасибо
-
1 час назад, Yaroslav Brovin сказал:
2. Краш на Unbind
- Какую версию Андроид вы используете?
- Я вижу, что вы используете эмулятор. Воспроизводится ли проблема на живом устройстве. И если да, то на какой версии Андроида?
Пробую на разных версиях Андроид и разных устройствах:
- Смарт-терминал MSPOS - Андроид 6
- Xiomi Redmi 4A - Андроид 6
- Эмулятор - Андроид 7
- Планшет HUAWEI Андроид 8
- Xiomi Mi9T Pro - Android 10
Эмулятор в видео показан только для наглядности, ошибка везде одинаковая.
Проблему с версиями SDK, NDK, JDK я исключаю потому что проект FMX работает корректно
Или я не прав?
-
Добрый день, Ярослав!
Шлю вам очередное видеопослание, уж извините за настойчивость.
-
Добрый день!
Ярослав, вот такой развернутый ответ, в виде видео https://cloud.mail.ru/public/3p2z/YUoTanurR
и лог во вложении
- 1
-
Ярослав, есть мысли, почему unBindService приводит к зависанию приложения?
-
-
Добрый день, уважаемые разработчики.
Решил адаптировать подключение к удаленному сервису Андроид на базе стандартного примера Firemonkey из Samples:
C:\Users\Public\Documents\Embarcadero\Studio\21.0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\RemoteServiceDemo
Мое приложение находится в папке FGXRemoteApp. Подключение к сервису проходит на ура, обмен с сервисом тоже работает, а вот при отключении от сервиса, приложение зависает.
При этом, аналогичное FMX приложение из папки FMXRemoteApp работает корректно. Удаленный сервис RemoteService запускается через приложение AppRemoteHost
-
Прошу прощения, у меня в браузере видео не воспроизвелось, поэтому добавил видео в виде архива
- 1
-
Добрый день.
Прошу помощи или подсказки разработчиков.
Столкнулся с интересной ситуацией при работе с несколькими модальными окнами в FGX-Native. Модальные окна показываю с помощью хелпера, как рекомендуют разработчики библиотеки
TfgAnimationHelper.ShowModalForm(FFormEdit);
Но какое модальное окно будет сверху зависит от того, какое окно было создано последним. В прилагаемом видео, в первом сценарии создается сначала окно поиска, а затем окно редактирования. В этом случае модальное окно редактирования перекрывает окно поиска и все работает как задумано. Но если сначала создать окно редактирования, а потом окно поиска, то окно поиска перекрывает окно редактирования, как показано во втором сценарии видео. Помогите, пожалуйста, найти ошибку в исходном коде или в библиотеке.
Видео и контрольный пример прилагается.
- 1
-
Спасибо, жду релиз
-
Добрый день.
Можно получить ответ на мой вопрос по странному поведению OnTap и OnLongTap.
Мне надо на карточке TfgCardPanel обрабатывать отдельно OnTap и OnLongTap
Как это сделать?
-
Всем большое спасибо за участие и помощь. Ларчик просто открывался. Сплиттер реализуется программно тремя строчками кода через обработчик OnTouch
Ключевой момент заключается в том, что координату касания на сплиттере надо привести к системе координат формы с помощью метода LocalToForm
procedure TFrameHalls.LtTableSplitterTouch(Sender: TObject; const ATouches: TfgTouches; const AAction: TfgTouchAction; var AHandled: Boolean); begin inherited; LtTableInfo.BeginUpdate; try LtTableInfo.Size.Height := TfgControl(Sender).LocalToForm(ATouches[0].Location).Y; LtTableInfo.Realign; finally LtTableInfo.EndUpdate; end; AHandled := True; end;
- 4
-
4 минуты назад, knsg12 сказал:
Вот рабочий пример на FGX TfgBottomSheetLayout.
Это совсем не то. У вас меню имеет два фиксированных размера, либо оно заданной высоты, либо скрыто.
А вы сделайте, чтобы меню было с плавающей высотой.
P.S. Кстати, вы тоже пишите мобильного официанта? 😀
-
Второй день мучаюсь с этим сплиттером, не выходит красиво и плавно через OnTouch.
В конце концов, в FMX такой сплиттер и много чего еще есть.
Чем тогда FGX-Native лучше FMX? Только удобным Assets менеджером?
-
23 минуты назад, knsg12 сказал:
Возможно он отличается чем то, только из-за того что был реализован в другой среде. А в принципе такое поведение возможно реализовать в FGX
@knsg12 я и реализовал в FGX через событие OnTouch на разделителе между компонентами btnTableSplitterTouch (см. первый отрезок видео в первом посте), но получается очень дёрганно, не хватает плавности и скорости перемещения сплиттера.
Может кто-то поможет в этом вопросе, как сделать отработку сплиттера более плавной и быстрой с помощью события btnTableSplitterTouch?
-
19 минут назад, Stas сказал:
Честно скажу, я не помню, чтобы видел такое в мобильных приложениях.
Посмотрите мое видео выше, там используется сплиттер во втором приложении, при этом приложение очень популярное в РФ.
Да и насчет небольшого экрана в корне не согласен, у меня приложуха должна работать на планшетах 10-11". Скажу больше, мне еще и вертикальный сплиттер нужен.
-
Добрый день!
Посмотрел внимательнее компонент TfgBottomSheetLayout. Не подходит, слишком много ограничений.
Во-первых, расположение выдвигающегося TfgBottomSheet только внизу, а мне надо вверху.
Во-вторых, TfgBottomSheet имеет только две фиксированные высоты - PickHeight и Height, а мне нужна плавающая высота выдвигающегося компонента
Плавность и анимация TfgBottomSheetLayout конечно на высоте, но этого мало. Нужен полноценный компонент. Очень странно, что такой распространенный компонент, как TfgSplitter, до сих пор никому не понадобился. Вот я и подумал, может разработчики обходятся каким-то другим способом, про который я не знаю?
-
Только что, Viktor Akselrod сказал:
Здравствуйте.
Обратите внимание на компонент TfgBottomSheetLayout. В поставке библиотеки есть несколько примеров с этим компонентом.
Спасибо, посмотрю, может получится применить.
-
Добрый день.
Прошу добавить в библиотеку компонент Splitter или подскажите, как его реализовать имеющимися средствами?
В настоящий момент я попробовал сделать вот так, но получается криво. Для сравнения я показываю как плавно и быстро работает сплиттер в похожем приложении
procedure TFrameHalls.btnTableSplitterTouch(Sender: TObject; const ATouches: TfgTouches; const AAction: TfgTouchAction; var AHandled: Boolean); begin inherited; if AAction = TfgTouchAction.Down then begin LtTableInfo.Tag := Trunc(LtTableInfo.Size.Height); // Начальная высота верхней панели LtTableSplitter.Tag := Trunc(ATouches[0].Location.Y); // Начальное смещение касания сплиттера end else if AAction = TfgTouchAction.Up then begin LtTableInfo.Tag := 0; LtTableSplitter.Tag := 0; end else if AAction = TfgTouchAction.Move then begin sbTables.BeginUpdate; try LtTableInfo.Size.Height := LtTableInfo.Tag + Trunc(ATouches[0].Location.Y) - LtTableSplitter.Tag; sbTables.Realign; finally sbTables.EndUpdate; end; end; end;
[AlarmDemo] Демо-приложение не работает на FGX ver 1.15.1.0
in Closed
Posted
Добрый день.
Собрал демо-приложение AlarmDemo на новой библиотеке 1.15.1.0. Будильник не работает.
На более ранних версиях библиотеки, вплоть до 1.14.6.0, будильник работает корректно.