Delphi Seattle не может ссылаться на класс FMX по умолчанию
При попытке реализовать уведомления в моем проекте, Delphi Seattle не может ссылаться FMX.Notification
должным образом.
Вот что я получаю:
[Фатальная ошибка DCC] UnitMain.pas(27): F2613 Модуль "FMX.Notification" не найден.
И тогда это автоматически делает ссылку на System.Notification
, однако он вылетает из моего Android-приложения при попытке использовать объект из этого класса.
Как правильно внедрить уведомления в Delphi Seattle?
Примечание: он должен работать на обоих iOS
а также Android
,
1 ответ
В соответствии с официальными изменениями Embarcadero в Сиэтле:
Блок уведомлений FMX.Notification был заменен System.Notification
,
TNotificationCenter
компонент теперь поддерживает Windows 8 и более поздние версии Windows. Этот компонент также претерпел некоторые незначительные изменения:
- Он предоставляет свойство Loaded, чтобы проверить, готов ли центр уведомлений к использованию или нет.
- Тип
ApplicationIconBadgeNumber
изменилось с Word на Integer. - это
Supported
метод больше не нужен и был удален.
TBaseNotificationCenter
класс заменил IFMXNotificationCenter
интерфейс. Классы, которые использовали для реализации IFMXNotificationCenter
интерфейс должен стать подклассом TBaseNotificationCenter
и реализовать виртуальные абстрактные методы их родительского класса.
Таким образом, как я понял, чтобы отображать уведомления сейчас:
procedure TForm_Master.showNotification(Sender: TObject);
var
MyNotification: TNotification;
begin
MyNotification := NotificationCenter1.CreateNotification;
try
MyNotification.Name := 'NotificationName';
MyNotification.AlertBody :=
'Here goes your message';
MyNotification.FireDate := Now;
// Send notification to the notification center
NotificationCenter1.ScheduleNotification(MyNotification);
finally
MyNotification.Free;
end;
end;