Delphi Seattle无法引用默认的FMX类

时间:2015-10-14 14:48:56

标签: android ios delphi delphi-10-seattle

在我的项目中尝试实现Notifications时,Delphi Seattle无法正确引用FMX.Notification

这就是我得到的:

  

[DCC致命错误] UnitMain.pas(27):未找到F2613单位'FMX.Notification'。

然后它会自动引用System.Notification,但在尝试使用此类中的对象时会崩溃我的Android应用。

如何在Delphi Seattle上正确实现通知?

注意:它必须同时在iOSAndroid上运行。

1 个答案:

答案 0 :(得分:3)

根据Embarcadero's official Seattle changes

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;