Александр Клопоцкий Posted April 20, 2023 Posted April 20, 2023 (edited) Добрый день. Вопрос по работе с библиотекой: FB4D, на 20.04.2023 г. https://github.com/SchneiderInfosystems/FB4D Delphi 11.3, Java JDK (Java 19), FGX-Native 1.15.4.0 1. Создал новый проект, добавил компонеты: TfgPushNotificationService, TfgFirebaseAnalytics, настроил, запустил приложение, Token от Firebase принимается, Push приходит, Аналитика в консоль передается, Firebase работает! 2. Добавляю в проект один (любой) модуль, например FB4D.Interfaces.pas, никакого кода еще не пишу, приложение собирается без ошибок, показывается заставка, и на ней приложение зависает. 3. Беру пример из билиотеки FB4D: "FSSimpleChat.dproj", компилирую под Windows, работает (новый пользователь в Authentication создается, существующий пользователь логинится, если пароль забыл, на E-mail приходит письмо сменить пароль, в Firestore Database пишутся сообщения): 4. Тот же пример из билиотеки FB4D: "FSSimpleChat.dproj", компилирую FMX под Andriod 32-bit, ошибки при сборке. Возможно FB4D не обновляется, Java JDK (Java 19) не воспринимается? Можно ли как-то работать с FB4D в версии FGX-Native 1.15.4.0 и последующих? Пол года назад, осенью, еще на Delphi 10.4.2 с FGX-Native более ранней версии, этот пример FMX собирался и работал под Andriod 32-bit. Edited April 25, 2023 by Александр Клопоцкий Quote
Administrators Yaroslav Brovin Posted April 21, 2023 Administrators Posted April 21, 2023 Добрый вечер, В 20.04.2023 в 20:33, Александр Клопоцкий сказал: 2. Добавляю в проект один (любой) модуль, например FB4D.Interfaces.pas, никакого кода еще не пишу, приложение собирается без ошибок, показывается заставка, и на ней приложение зависает. Что в логах приложения? Что в стектрейсе, если запускать с отладкой. В 20.04.2023 в 20:33, Александр Клопоцкий сказал: 4. Тот же пример из билиотеки FB4D: "FSSimpleChat.dproj", компилирую FMX под Andriod 32-bit, ошибки при сборке. Вам нужно обновить список используемых Jar-библиотек в FMX. Для этого на ветке Libraries нужно в контекстном меню выбрать Reverts to default. После этого, указанные выше ошибки сборки, должны пройти. Quote
Александр Клопоцкий Posted April 22, 2023 Author Posted April 22, 2023 8 часов назад, Yaroslav Brovin сказал: Вам нужно обновить список используемых Jar-библиотек в FMX. Для этого на ветке Libraries нужно в контекстном меню выбрать Reverts to default. После этого, указанные выше ошибки сборки, должны пройти. Да, ошибки сборки пропали, загружается FMX под Andriod 32-bit. Quote
Александр Клопоцкий Posted April 22, 2023 Author Posted April 22, 2023 8 часов назад, Yaroslav Brovin сказал: Что в логах приложения? Логи от запуска приложения до зависания на заставке: "22.04.2023 8:13:06.576","I","ActivityThread",11028,11028,"smart_link is not supported!!!" "22.04.2023 8:13:06.579","W","libEGL",11028,11093,"EGLNativeWindowType 0xecc91528 disconnect failed" "22.04.2023 8:13:06.605","I","gralloc4",11028,11093,"register: id=22000002760" "22.04.2023 8:13:06.653","I","gralloc4",11028,11093,"unregister: id=22000002760" "22.04.2023 8:13:06.654","W","libEGL",11028,11093,"EGLNativeWindowType 0xecc8b068 disconnect failed" "22.04.2023 8:13:06.660","I","gralloc4",11028,11093,"register: id=22000002763" Quote
Александр Клопоцкий Posted April 22, 2023 Author Posted April 22, 2023 (edited) 9 часов назад, Yaroslav Brovin сказал: Что в стектрейсе, если запускать с отладкой. First chance exception at $BE4E8F19. Exception class EJNIException with message 'java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/messaging/RemoteMessage;'. Process Faberlic.apk (23071) Events.txt Edited April 22, 2023 by Александр Клопоцкий Quote
Administrators Yaroslav Brovin Posted April 22, 2023 Administrators Posted April 22, 2023 5 часов назад, Александр Клопоцкий сказал: First chance exception at $BE4E8F19. Exception class EJNIException with message 'java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/messaging/RemoteMessage;'. Process Faberlic.apk (23071) Нужно в настройках проекта поставил галку Push Notification. Указанный класс из Push-нотификации Firebase. Он подключается только при включении настройки в проекте. Quote
Alan Posted April 25, 2023 Posted April 25, 2023 Hi I hope I am answering the right question... google translate may have caused confusion. I am using FB4D very successfully under FGX. with minor changes Have you defined the TOKENJWT? I also defined a FGX Conditional In the FB4D.Helpers I added to the implementation uses : {$ELSEIF Defined(FGX)} FGX.Types, FGX.Forms, You need to add all FB4D units to your project. Hope this helps. This should allow you access to all the FB4D functions.. I don't use push so not sure about that. 1 Quote
Александр Клопоцкий Posted April 25, 2023 Author Posted April 25, 2023 (edited) 5 часов назад, Alan сказал: I also defined a FGX Conditional In the FB4D.Helpers I added to the implementation uses : {$ELSEIF Defined(FGX)} FGX.Types, FGX.Forms, Thank you Alan, for your answer. 1. Created a new project, added components: TfgPushNotificationService, TfgFirebaseAnalytics, configured, launched the application,Token from Firebase is accepted, Push arrives, Analytics are transmitted to the console, Firebase is working! 2. I am adding a module "FB4D.Helpers.pas" to this project, warning:"FB4D.Helpers.pas" uses unit ".Types" from the "FMX" framework which is not compatible with the project. 3. I changed the file "FB4D.Helpers.pas" as you wrote. And the compilation began to pass without errors! Thank you! Edited April 25, 2023 by Александр Клопоцкий 2 Quote
Dmitry Sh. Posted April 25, 2023 Posted April 25, 2023 35 минут назад, Александр Клопоцкий сказал: How did you change this file: "FB4D.Helpers.pas"? вероятно речь идет о коде https://github.com/SchneiderInfosystems/FB4D/blob/master/Source/FB4D.Helpers.pas#L244-L246 изменить {$ELSE} на {$ELSEIF Defined(FGX)} FGX.Types, FGX.Forms, 1 Quote
Александр Клопоцкий Posted April 25, 2023 Author Posted April 25, 2023 (edited) 57 минут назад, Dmitry Sh. сказал: вероятно речь идет о коде https://github.com/SchneiderInfosystems/FB4D/blob/master/Source/FB4D.Helpers.pas#L244-L246 изменить {$ELSE} на {$ELSEIF Defined(FGX)} FGX.Types, FGX.Forms, Спасибо Dmitry Sh., изменил FB4D.Helpers.pas, компилируется! Edited April 25, 2023 by Александр Клопоцкий Quote
Administrators Yaroslav Brovin Posted April 25, 2023 Administrators Posted April 25, 2023 I opened Pull Request for adding FGX define to this project:https://github.com/SchneiderInfosystems/FB4D/pull/158/files So you can use this patch for local adopting code for FGX Native and don't forget add FGX define to project options. 2 Quote
Александр Клопоцкий Posted April 26, 2023 Author Posted April 26, 2023 (edited) В 25.04.2023 в 10:17, Alan сказал: Have you defined the TOKENJWT? After adding the "FB4D.OAuth.pas" module to the project, compilation errors appear: FB4D.OAuth.pas(35,40): error E2003: E2003 Undeclared identifier: 'ITokenJWT' FB4D.OAuth.pas(93,13): error E2003: E2003 Undeclared identifier: 'ETokenJWT' FB4D.OAuth.pas(93,29): error E2382: E2382 Cannot call constructors using instance variables C:\Faberlic\Faberlic.dpr(22,2): error F2063: F2063 Could not compile used unit 'FB4D.OAuth.pas' How to define interfaces correctly? Edited April 26, 2023 by Александр Клопоцкий Quote
Administrators Yaroslav Brovin Posted April 26, 2023 Administrators Posted April 26, 2023 Hello @Александр Клопоцкий, You should also add to your project sources of the dependent library JOSE. Quote
Александр Клопоцкий Posted April 26, 2023 Author Posted April 26, 2023 (edited) В 26.04.2023 в 00:24, Yaroslav Brovin сказал: I opened Pull Request for adding FGX define to this project:https://github.com/SchneiderInfosystems/FB4D/pull/158/files So you can use this patch for local adopting code for FGX Native and don't forget add FGX define to project options. Чистое приложение, добавлен только FB4D.Helpers.pas из Pull Request: 27.04.2023 8:05:20.779,"E","libc",27668,27714,"Access denied finding property ""persist.vendor.sf.fbc""" 27.04.2023 8:05:20.779,"E","libc",27668,27714,"Access denied finding property ""persist.vendor.gpu.fbc""" 27.04.2023 8:05:20.779,"E","libc",27668,27714,"Access denied finding property ""persist.vendor.vsp.fbc"" First chance exception at $BC357666. Exception class Segmentation fault (11). Process Project1.apk (27986) Edited April 27, 2023 by Александр Клопоцкий Quote
Александр Клопоцкий Posted April 26, 2023 Author Posted April 26, 2023 (edited) В 26.04.2023 в 13:14, Yaroslav Brovin сказал: Hello @Александр Клопоцкий, You should also add to your project sources of the dependent library JOSE. Все sources билиотеки JOSE добавлял в проект, не помогает, не компилируется. Edited April 28, 2023 by Александр Клопоцкий Quote
Administrators Yaroslav Brovin Posted April 27, 2023 Administrators Posted April 27, 2023 19 hours ago, Александр Клопоцкий said: Если добавить в проект этот исправленный FB4D.Helpers.pas из Pull Request, то приложение виснит после заставки, как и с первоначальным из библиотеки. Дефайн FGX добавлен в настройки проекта? Quote
Александр Клопоцкий Posted April 27, 2023 Author Posted April 27, 2023 (edited) 15 часов назад, Yaroslav Brovin сказал: Дефайн FGX добавлен в настройки проекта? Да, FGX define - не был добавлен в настройках проекта. После копиляции: сначала FGX.Logs не нашел, исправил на FGX.Log, потом ошибки: Build started 27.04.2023 20:52:26. __________________________________________________ Project "C:\Projects\Project1\Project1.dproj" (Make target(s)): Target _PasCoreCompile: c:\delphi\bin\dccaarm.exe -$O- --no-config -M -Q -TX.so -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults -DFGX;DEBUG;;FRAMEWORK_xfm -E.\Android\Debug -Ic:\delphi\lib\Android\debug;"C:\Users\User\AppData\Local\FGX Native\Libs\280\Android\Debug";c:\delphi\lib\Android\Release;C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Android;"C:\Users\User\AppData\Local\FGX Native\Libs\280\Android\Release";"C:\Users\User\AppData\Local\FGX Native\Libs\Common\Android\Debug\armeabi-v7a";C:\Delphi\Add\UniDAC\Lib\Android32;C:\Delphi\Add\UniDAC\Demos\TechnologySpecific\SecureBridge;C:\Delphi\Add\JOSE\Source\Common;C:\Delphi\Add\JOSE\Source\JOSE;C:\Delphi\Add\FB4D\Source;C:\Delphi\Add\FB4D\GUIPatterns\FMX -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; -Oc:\delphi\lib\Android\Release;C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Android;"C:\Users\User\AppData\Local\FGX Native\Libs\280\Android\Release";"C:\Users\User\AppData\Local\FGX Native\Libs\Common\Android\Debug\armeabi-v7a";C:\Delphi\Add\UniDAC\Lib\Android32;C:\Delphi\Add\UniDAC\Demos\TechnologySpecific\SecureBridge;C:\Delphi\Add\JOSE\Source\Common;C:\Delphi\Add\JOSE\Source\JOSE;C:\Delphi\Add\FB4D\Source;C:\Delphi\Add\FB4D\GUIPatterns\FMX -Rc:\delphi\lib\Android\Release;C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Android;"C:\Users\User\AppData\Local\FGX Native\Libs\280\Android\Release";"C:\Users\User\AppData\Local\FGX Native\Libs\Common\Android\Debug\armeabi-v7a";C:\Delphi\Add\UniDAC\Lib\Android32;C:\Delphi\Add\UniDAC\Demos\TechnologySpecific\SecureBridge;C:\Delphi\Add\JOSE\Source\Common;C:\Delphi\Add\JOSE\Source\JOSE;C:\Delphi\Add\FB4D\Source;C:\Delphi\Add\FB4D\GUIPatterns\FMX -Uc:\delphi\lib\Android\debug;"C:\Users\User\AppData\Local\FGX Native\Libs\280\Android\Debug";c:\delphi\lib\Android\Release;C:\Users\Public\Documents\Embarcadero\Studio\22.0\Dcp\Android;"C:\Users\User\AppData\Local\FGX Native\Libs\280\Android\Release";"C:\Users\User\AppData\Local\FGX Native\Libs\Common\Android\Debug\armeabi-v7a";C:\Delphi\Add\UniDAC\Lib\Android32;C:\Delphi\Add\UniDAC\Demos\TechnologySpecific\SecureBridge;C:\Delphi\Add\JOSE\Source\Common;C:\Delphi\Add\JOSE\Source\JOSE;C:\Delphi\Add\FB4D\Source;C:\Delphi\Add\FB4D\GUIPatterns\FMX --libpath:C:\Delphi\CatalogRepository\AndroidNDK-21-22.0.47991.2819\android-ndk-r21\platforms\android-23\arch-arm\usr\lib;C:\Delphi\CatalogRepository\AndroidNDK-21-22.0.47991.2819\android-ndk-r21\sources\cxx-stl\llvm-libc++\libs\armeabi-v7a --linker:C:\Delphi\CatalogRepository\AndroidNDK-21-22.0.47991.2819\android-ndk-r21\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe -V -VN -NO.\Android\Debug Project1.dpr C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(678,15): error E2003: E2003 Undeclared identifier: 'SJPGImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(680,15): error E2003: E2003 Undeclared identifier: 'SGIFImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(682,15): error E2003: E2003 Undeclared identifier: 'SPNGImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(684,15): error E2003: E2003 Undeclared identifier: 'STIFFImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(717,14): error E2003: E2003 Undeclared identifier: 'TImageTypeChecker' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(717,32): error E2066: E2066 Missing operator or semicolon C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(718,16): error E2003: E2003 Undeclared identifier: 'SJPGImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(718,35): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(720,21): error E2003: E2003 Undeclared identifier: 'SGIFImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(720,40): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(722,21): error E2003: E2003 Undeclared identifier: 'SPNGImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(722,40): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(724,21): error E2003: E2003 Undeclared identifier: 'STIFFImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(724,41): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString' C:\Projects\Project1\Project1.dpr(8,2): error F2063: F2063 Could not compile used unit 'FB4D.Helpers.pas' Done building target "_PasCoreCompile" in project "Project1.dproj" -- FAILED. Done building project "Project1.dproj" -- FAILED. Build FAILED. C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(718,35): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(720,40): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(722,40): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(724,41): warning W1058: W1058 Implicit string cast with potential data loss from 'string' to 'ShortString' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(678,15): error E2003: E2003 Undeclared identifier: 'SJPGImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(680,15): error E2003: E2003 Undeclared identifier: 'SGIFImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(682,15): error E2003: E2003 Undeclared identifier: 'SPNGImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(684,15): error E2003: E2003 Undeclared identifier: 'STIFFImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(717,14): error E2003: E2003 Undeclared identifier: 'TImageTypeChecker' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(717,32): error E2066: E2066 Missing operator or semicolon C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(718,16): error E2003: E2003 Undeclared identifier: 'SJPGImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(720,21): error E2003: E2003 Undeclared identifier: 'SGIFImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(722,21): error E2003: E2003 Undeclared identifier: 'SPNGImageExtension' C:\Delphi\Add\FB4D\Source\FB4D.Helpers.pas(724,21): error E2003: E2003 Undeclared identifier: 'STIFFImageExtension' C:\Projects\Project1\Project1.dpr(8,2): error F2063: F2063 Could not compile used unit 'FB4D.Helpers.pas' 4 Warning(s) 11 Error(s) Time Elapsed 00:00:00.29 Добавил все "FB4D Source" и "JOSE Source" в проект, все равно те же ошибки. Edited April 28, 2023 by Александр Клопоцкий Quote
Alan Posted April 28, 2023 Posted April 28, 2023 I see you don't have TOKENJWT in your defines? 1 Quote
Александр Клопоцкий Posted April 28, 2023 Author Posted April 28, 2023 (edited) 4 часа назад, Alan сказал: I see you don't have TOKENJWT in your defines? Yes, now added TOKENJWT in defines. Yes, it compiles without errors, gets into the phone and works! Thank you! Edited April 28, 2023 by Александр Клопоцкий 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.