Everything posted by Александр Клопоцкий
- 1.19.6.0 Русский
-
1.19.0.0 Русский
Добрый вечер. Рабочий проект версии 1.18.14.1, открываю на версии 1.19.0.0. Ошибка при открытии, на может прочитать файл *.dproj проекта. Наверное он слишком большой. Другие проекты, меньшие по размеру открываются и сразу запускается мигратор. Файл *.dproj: Faberlic.dproj.rar Или может лучше создать новый проект в версии 1.19.0.0 и перебрать всё вручную, чтобы следов прошлых версий не было в проекте?
-
BluetoothLE - не проходит событие "OnCharacteristicRead"
Работает! Спасибо! Обновил java часть FGX Native.
-
BluetoothLE - не проходит событие "OnCharacteristicRead"
Еще раз создал чистый проект на FGX, без тем, ключей. Перенес код из FMX. Не работает, не возвращается событие "OnCharacteristicRead". CL2_Test.rar
-
BluetoothLE - не проходит событие "OnCharacteristicRead"
Создал чистый FMX проект. Перенес код из FGX проекта в FMX. Ничего лишнего. targetSdkVersion = 35, Uses Premitions те же. В FMX работает, приходит событие "OnCharacteristicRead". Рабочий проект на FMX: CL2_FMX.rar unit MainForm; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Controls.Presentation, FMX.StdCtrls, System.Bluetooth, System.Bluetooth.Components, System.Permissions; type TForm1 = class(TForm) Label1: TLabel; btDevices: TButton; btSend: TButton; lbDeviceName: TLabel; BluetoothLE1: TBluetoothLE; procedure btDevicesClick(Sender: TObject); procedure BluetoothLE1EndDiscoverDevices(const Sender: TObject; const ADeviceList: TBluetoothLEDeviceList); procedure btSendClick(Sender: TObject); procedure BluetoothLE1CharacteristicWrite(const Sender: TObject; const ACharacteristic: TBluetoothGattCharacteristic; AGattStatus: TBluetoothGattStatus); procedure BluetoothLE1CharacteristicRead(const Sender: TObject; const ACharacteristic: TBluetoothGattCharacteristic; AGattStatus: TBluetoothGattStatus); private const LOCATION_PERMISSION = 'android.permission.ACCESS_FINE_LOCATION'; BLUETOOTH_SCAN_PERMISSION = 'android.permission.BLUETOOTH_SCAN'; BLUETOOTH_CONNECT_PERMISSION = 'android.permission.BLUETOOTH_CONNECT'; private { Private declarations } FBLEDevice: TBluetoothLEDevice; FGattService: TBluetoothGattService; FCharacteristic_UUID_RX: TBluetoothGattCharacteristic; FCharacteristic_UUID_TX: TBluetoothGattCharacteristic; procedure GetServiceAndCharacteristics; public { Public declarations } end; const SERVICE_UUID : TGUID = '{6E400001-B5A3-F393-E0A9-E50E24DCCA9E}'; { UUID для BLE } CHARACTERISTIC_UUID_TX : TGUID = '{6E400003-B5A3-F393-E0A9-E50E24DCCA9E}'; CHARACTERISTIC_UUID_RX : TGUID = '{6E400002-B5A3-F393-E0A9-E50E24DCCA9E}'; var Form1: TForm1; implementation {$R *.fmx} {******************************************************************************} procedure TForm1.btDevicesClick(Sender: TObject); var Permissions: TArray<string>; begin if TOSVersion.Check(12) then Permissions := [LOCATION_PERMISSION, BLUETOOTH_SCAN_PERMISSION, BLUETOOTH_CONNECT_PERMISSION] else Permissions := [LOCATION_PERMISSION]; PermissionsService.RequestPermissions(Permissions, procedure(const APermissions: TClassicStringDynArray; const AGrantResults: TClassicPermissionStatusDynArray) begin if ((Length(AGrantResults) = 3) and (AGrantResults[0] = TPermissionStatus.Granted) and (AGrantResults[1] = TPermissionStatus.Granted) and (AGrantResults[2] = TPermissionStatus.Granted)) or ((Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted)) then BluetoothLE1.DiscoverDevices(2500) { Запускаем поиск устройств } else Label1.Text := 'Cannot start BLE scan because not all required permissions have been granted!'; end); end; {******************************************************************************} procedure TForm1.BluetoothLE1EndDiscoverDevices(const Sender: TObject; const ADeviceList: TBluetoothLEDeviceList); var i: Integer; begin for i := 0 to ADeviceList.Count - 1 do if Pos('CLMASTER', ADeviceList[i].DeviceName) > 0 then begin lbDeviceName.Text := ADeviceList[i].DeviceName; { Отображаем Имя устройства } FBLEDevice := BluetoothLE1.DiscoveredDevices[I]; FBLEDevice.Connect; FBLEDevice.DiscoverServices; if BluetoothLE1.GetServices(FBLEDevice).Count = 0 then Label1.Text := 'No services found!' else GetServiceAndCharacteristics; end; end; {******************************************************************************} procedure TForm1.GetServiceAndCharacteristics; var i, j, k: Integer; begin for i := 0 to FBLEDevice.Services.Count - 1 do begin Label1.Text := FBLEDevice.Services[I].UUIDName + ' : ' + FBLEDevice.Services[I].UUID.ToString; for j := 0 to FBLEDevice.Services[I].Characteristics.Count - 1 do begin Label1.Text := '--> ' + FBLEDevice.Services[I].Characteristics[J].UUIDName + ' : ' + FBLEDevice.Services[I].Characteristics[J].UUID.ToString; for k := 0 to FBLEDevice.Services[I].Characteristics[J].Descriptors.Count - 1 do begin Label1.Text := '----> ' + FBLEDevice.Services[I].Characteristics[J].Descriptors[K].UUIDName + ' : ' + FBLEDevice.Services[I].Characteristics[J].Descriptors[K].UUID.ToString; end; end; end; FGattService := nil; FCharacteristic_UUID_RX := nil; FCharacteristic_UUID_TX := nil; FGattService := BluetoothLE1.GetService(FBLEDevice, SERVICE_UUID); if FGattService <> nil then begin FCharacteristic_UUID_TX := BluetoothLE1.GetCharacteristic(FGattService, CHARACTERISTIC_UUID_TX); FCharacteristic_UUID_RX := BluetoothLE1.GetCharacteristic(FGattService, CHARACTERISTIC_UUID_RX); end else Label1.Text := 'Service not found!'; if FCharacteristic_UUID_TX <> nil then begin if BluetoothLE1.SubscribeToCharacteristic(FBLEDevice, FCharacteristic_UUID_TX) = True then Label1.Text := 'Подписались UUID_TX'; end; end; {******************************************************************************} procedure TForm1.btSendClick(Sender: TObject); var LBytes : TArray<byte>; begin { $ C I R } LBytes := TArray<byte>.Create($24, $43, $49, $52, $0D, $0A); BluetoothLE1.GetCharacteristic(FGattService, Characteristic_UUID_RX).SetValueAsString(TEncoding.ANSI.GetString(LBytes)); FBLEDevice.WriteCharacteristic(BluetoothLE1.GetCharacteristic(FGattService, Characteristic_UUID_RX)); end; {******************************************************************************} procedure TForm1.BluetoothLE1CharacteristicWrite(const Sender: TObject; const ACharacteristic: TBluetoothGattCharacteristic; AGattStatus: TBluetoothGattStatus); begin if FBLEDevice.RequestMtu(517) = True then Label1.Text := 'RequestMtu = 517'; end; {******************************************************************************} procedure TForm1.BluetoothLE1CharacteristicRead(const Sender: TObject; const ACharacteristic: TBluetoothGattCharacteristic; AGattStatus: TBluetoothGattStatus); begin Label1.Text := 'Read!!!'; if AGattStatus = TBluetoothGattStatus.Success then Label1.Text := 'Read Success!!!'; end; {******************************************************************************} end.
-
BluetoothLE - не проходит событие "OnCharacteristicRead"
В заголовочном файле Android.Api.Hardware.Bluetooth.pas посмотрел поиском: 1. GetServices - функция Есть. 2. GetCharacteristic - функция Есть. 3. WriteCharacteristic - функция Есть. 4. RequestMtu - функция Есть. 5. SubscribeToCharacteristic - Нет !!! Этой функцией подписываемся на характеристику. Может она не проходит вовне?
-
BluetoothLE - не проходит событие "OnCharacteristicRead"
CL2.rar
-
BluetoothLE - не проходит событие "OnCharacteristicRead"
HeartRateMonitor.rar
-
BluetoothLE - не проходит событие "OnCharacteristicRead"
Delphi 12.3, компонент BluetoothLE1. Работаю с устройством по BLE. 1. Обнаруживаю доступные устройства, 2. Подключаюсь к сервисам устройства, 3. Получаю характеристики, 4. Подписываюсь на характеристику для чтения. 5. Пишу команду в характеристику для записи, ответ от устройства в событии "OnCharacteristicRead" не приходит. Делал по стандартному FMX примеру "HeartRateMonitor". Работает. Создал новый проект на FGX 1.18.11.0, разместил компонент BluetoothLE1. Устройство обнаруживается, сервисы, характеристики доступны, подписка на характеристику для чтения проходит с результатом True. Но вот когда идёт передача от устройства, событие "OnCharacteristicRead" не срабатывает. Подключены System.Bluetooth, System.Bluetooth.Components. Пробовал добавлять заголовочный файл Android.Api.Hardware.Bluetooth. Что можно попробовать ещё, RTL, мосты? FGX проект: unit Form.Main; interface {$SCOPEDENUMS ON} uses System.Types, System.Classes, FGX.Forms, FGX.Forms.Types, FGX.Controls, FGX.Controls.Types, FGX.Layout, FGX.Layout.Types, FGX.NavigationBar.Types, FGX.NavigationBar, FGX.DrawerLayout, FGX.StaticLabel, System.Bluetooth, System.Bluetooth.Components, System.Permissions, FGX.Button.Types, FGX.Button, FGX.Switch; type TFormMain = class(TfgForm) fgDrawerLayout1: TfgDrawerLayout; fgNavigationBar: TfgNavigationBar; fgLabel2: TfgLabel; BluetoothLE1: TBluetoothLE; btDevices: TfgButton; loDevice: TfgLayout; loDeviceName: TfgLayout; lbDeviceName: TfgLabel; loDeviceSwitch: TfgLayout; fgSwitch: TfgSwitch; fgSend: TfgButton; procedure btDevicesTap(Sender: TObject); procedure BluetoothLE1EndDiscoverDevices(const Sender: TObject; const ADeviceList: TBluetoothLEDeviceList); procedure fgSendTap(Sender: TObject); procedure BluetoothLE1CharacteristicWrite(const Sender: TObject; const ACharacteristic: TBluetoothGattCharacteristic; AGattStatus: TBluetoothGattStatus); procedure BluetoothLE1CharacteristicRead(const Sender: TObject; const ACharacteristic: TBluetoothGattCharacteristic; AGattStatus: TBluetoothGattStatus); private const LOCATION_PERMISSION = 'android.permission.ACCESS_FINE_LOCATION'; BLUETOOTH_SCAN_PERMISSION = 'android.permission.BLUETOOTH_SCAN'; BLUETOOTH_CONNECT_PERMISSION = 'android.permission.BLUETOOTH_CONNECT'; private { Private declarations } FBLEDevice: TBluetoothLEDevice; FGattService: TBluetoothGattService; FCharacteristic_UUID_RX: TBluetoothGattCharacteristic; FCharacteristic_UUID_TX: TBluetoothGattCharacteristic; procedure GetServiceAndCharacteristics; public { Public declarations } end; const SERVICE_UUID : TGUID = '{6E400001-B5A3-F393-E0A9-E50E24DCCA9E}'; { UUID для BLE } CHARACTERISTIC_UUID_TX : TGUID = '{6E400003-B5A3-F393-E0A9-E50E24DCCA9E}'; CHARACTERISTIC_UUID_RX : TGUID = '{6E400002-B5A3-F393-E0A9-E50E24DCCA9E}'; var FormMain: TFormMain; implementation {$R *.xfm} uses System.SysUtils, FGX.Application, FGX.Dialogs, FGX.Toasts, FGX.Log, Android.Api.Hardware.Bluetooth; {******************************************************************************} procedure TFormMain.btDevicesTap(Sender: TObject); var Permissions: TArray<string>; begin if TOSVersion.Check(12) then Permissions := [LOCATION_PERMISSION, BLUETOOTH_SCAN_PERMISSION, BLUETOOTH_CONNECT_PERMISSION] else Permissions := [LOCATION_PERMISSION]; PermissionsService.RequestPermissions(Permissions, procedure(const APermissions: TClassicStringDynArray; const AGrantResults: TClassicPermissionStatusDynArray) begin if ((Length(AGrantResults) = 3) and (AGrantResults[0] = TPermissionStatus.Granted) and (AGrantResults[1] = TPermissionStatus.Granted) and (AGrantResults[2] = TPermissionStatus.Granted)) or ((Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted)) then BluetoothLE1.DiscoverDevices(2500) { Запускаем поиск устройств } else TfgDialogs.ShowMessage('Cannot start BLE scan because not all required permissions have been granted!'); end); end; {******************************************************************************} procedure TFormMain.BluetoothLE1EndDiscoverDevices(const Sender: TObject; const ADeviceList: TBluetoothLEDeviceList); var i: Integer; begin for i := 0 to ADeviceList.Count - 1 do if Pos('CLMASTER', ADeviceList[i].DeviceName) > 0 then begin lbDeviceName.Text := ADeviceList[i].DeviceName; { Отображаем Имя устройства } fgSwitch.Visible := True; FBLEDevice := BluetoothLE1.DiscoveredDevices[I]; FBLEDevice.Connect; FBLEDevice.DiscoverServices; if BluetoothLE1.GetServices(FBLEDevice).Count = 0 then TfgToastFactory.Show('No services found!') else GetServiceAndCharacteristics; end; end; {******************************************************************************} procedure TFormMain.GetServiceAndCharacteristics; var i, j, k: Integer; begin for i := 0 to FBLEDevice.Services.Count - 1 do begin fgNavigationBar.Title := FBLEDevice.Services[I].UUIDName + ' : ' + FBLEDevice.Services[I].UUID.ToString; for j := 0 to FBLEDevice.Services[I].Characteristics.Count - 1 do begin fgNavigationBar.Title := '--> ' + FBLEDevice.Services[I].Characteristics[J].UUIDName + ' : ' + FBLEDevice.Services[I].Characteristics[J].UUID.ToString; for k := 0 to FBLEDevice.Services[I].Characteristics[J].Descriptors.Count - 1 do begin fgNavigationBar.Title := '----> ' + FBLEDevice.Services[I].Characteristics[J].Descriptors[K].UUIDName + ' : ' + FBLEDevice.Services[I].Characteristics[J].Descriptors[K].UUID.ToString; end; end; end; FGattService := nil; FCharacteristic_UUID_RX := nil; FCharacteristic_UUID_TX := nil; FGattService := BluetoothLE1.GetService(FBLEDevice, SERVICE_UUID); if FGattService <> nil then begin FCharacteristic_UUID_TX := BluetoothLE1.GetCharacteristic(FGattService, CHARACTERISTIC_UUID_TX); FCharacteristic_UUID_RX := BluetoothLE1.GetCharacteristic(FGattService, CHARACTERISTIC_UUID_RX); fgSwitch.Enabled := True; fgSwitch.IsChecked := True; end else TfgToastFactory.Show('Service not found!'); if FCharacteristic_UUID_TX <> nil then begin if BluetoothLE1.SubscribeToCharacteristic(FBLEDevice, FCharacteristic_UUID_TX) = True then fgNavigationBar.Title := 'Подписались UUID_TX' end; end; {******************************************************************************} procedure TFormMain.fgSendTap(Sender: TObject); var LBytes : TArray<byte>; begin { $ C I R } LBytes := TArray<byte>.Create($24, $43, $49, $52, $0D, $0A); BluetoothLE1.GetCharacteristic(FGattService, Characteristic_UUID_RX).SetValueAsString(TEncoding.ANSI.GetString(LBytes)); FBLEDevice.WriteCharacteristic(BluetoothLE1.GetCharacteristic(FGattService, Characteristic_UUID_RX)); end; {******************************************************************************} procedure TFormMain.BluetoothLE1CharacteristicWrite(const Sender: TObject; const ACharacteristic: TBluetoothGattCharacteristic; AGattStatus: TBluetoothGattStatus); begin if FBLEDevice.RequestMtu(517) = True then fgNavigationBar.Title := 'RequestMtu = 517'; end; {******************************************************************************} procedure TFormMain.BluetoothLE1CharacteristicRead(const Sender: TObject; const ACharacteristic: TBluetoothGattCharacteristic; AGattStatus: TBluetoothGattStatus); begin fgNavigationBar.Title := 'Read!!!'; if AGattStatus = TBluetoothGattStatus.Success then fgNavigationBar.Title := 'Read Success!!!'; end; {******************************************************************************} end. Работающий пример на FMX:
-
1.18.8.1 Русский
Без ошибок, при использовании JDK 22 (jdk-22.0.2_windows-x64_bin.exe) targetSdkVersion = 35, GooglePlay опубликовал! Работает, Спасибо! Ошибка была, при использовании JDK 23 (jdk-23_windows-x64_bin.exe).
-
1.18.4.0 Русский
-
1.18.4.0 Русский
Какое расположение иконки (Appearance.Icon.Location) используется? Для первого скриншота: Appearance.Icon.Location = Center Установил в крайней правой кнопке Appearance.Icon.Location = Top, иконка ушла вверх кнопки. И в дизайнере она стала маленькой.
-
1.18.4.0 Русский
В версии 1.18.4.0 иконки в TfgButton стали маленькие. В версии 1.18.3.0 иконки в TfgButton нормально отображались. Иконки из FGX Assets Manager, 24x24. Каким свойством растянуть?
-
[Установка] После месяца нормальной работы на Delphi 12.1 слетела регистрация пакетов.
-
[Установка] После месяца нормальной работы на Delphi 12.1 слетела регистрация пакетов.
Здравствуйте. Delphi 12.1, FGX-Native 1.18.1.3. После месяца нормальной работы на Delphi 12.1 слетела регистрация пакетов. Устанавливал библиотеку при закрытой IDE, в реестре, в \Disabled Packages пакетов FGX-Native нет. В ручную поставить, удалить и поставить не получается.
-
FB4D – The OpenSource Cross-Platform Library for Firebase
Yes, now added TOKENJWT in defines. Yes, it compiles without errors, gets into the phone and works! Thank you!
-
FB4D – The OpenSource Cross-Platform Library for Firebase
Да, 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" в проект, все равно те же ошибки.
-
FB4D – The OpenSource Cross-Platform Library for Firebase
Все sources билиотеки JOSE добавлял в проект, не помогает, не компилируется.
-
FB4D – The OpenSource Cross-Platform Library for Firebase
Чистое приложение, добавлен только 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)
-
FB4D – The OpenSource Cross-Platform Library for Firebase
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?
-
FB4D – The OpenSource Cross-Platform Library for Firebase
-
FB4D – The OpenSource Cross-Platform Library for Firebase
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!
-
FB4D – The OpenSource Cross-Platform Library for Firebase
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
-
FB4D – The OpenSource Cross-Platform Library for Firebase
Логи от запуска приложения до зависания на заставке: "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"
-
FB4D – The OpenSource Cross-Platform Library for Firebase