AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

NotificationCenter und deren Funktion

Ein Thema von Ghostwalker · begonnen am 16. Mai 2017 · letzter Beitrag vom 3. Feb 2022
Antwort Antwort
Seite 1 von 2  1 2      
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#1

NotificationCenter und deren Funktion

  Alt 16. Mai 2017, 06:03
Hi,

ich experimentiere grad ein wenig mit dem TNotificationCenter rum und stosse dabei auf folgende Probleme:

Basiscode sieht so aus (direkt aus der Demo geholt):

Delphi-Quellcode:
var
  MyNotification: TNotification;
begin
  MyNotification := NotificationCenter1.CreateNotification;
  try
    MyNotification.Name := 'Windows Notification';
    MyNotification.Title := 'My first Notification';
    MyNotification.AlertBody := 'Notification send by my application.';
    MyNotification.FireDate := Now()+EncodeTime(0,0,10,0);
    NotificationCenter1.PresentNotification(MyNotification);
  finally
    MyNotification.Free;
  end;
end;
Soweit funktionierts auch, die Nachricht wird sofort angezeigt.

mach ich nun aus

Delphi-Quellcode:
    
NotificationCenter1.PresentNotification(MyNotification);
    NotificationCenter1.ScheduleNotification(MyNotification); wars das. Die Nachricht wird nicht angezeigt (nach 10 Sekunden sollte sie das eigentlich).

Auch einen eigenen Sound bekomme ich nicht ans laufen, obwohl ich mich hier
an diese Tut gehalten hab: http://docwiki.embarcadero.com/RADSt...fication_Sound

Weder mit mp3 noch mit wav, egal was ich für einen Pfad angebe.....

Hat jemand hier evtl. den ein oder anderen Tip ?
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#2

AW: NotificationCenter und deren Funktion

  Alt 16. Mai 2017, 06:12
Moin...
Zitat:
NotificationCenter1.ScheduleNotification(MyNotific ation)
...Vieleicht vor dem finally deines Beispieles und du räumst dann die Notification weg?
Zeig mal den kompletten Zusammenhang...

Geändert von haentschman (16. Mai 2017 um 06:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#3

AW: NotificationCenter und deren Funktion

  Alt 16. Mai 2017, 07:08
und du räumst dann die Notification weg?
MyNotification.Free;
Daran hätte ich auch als Erstes gedacht.

Einfach mal nicht löschen und schauen was passiert.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#4

AW: NotificationCenter und deren Funktion

  Alt 16. Mai 2017, 07:13
In der Dokumentation habe ich nichts finden können, wie mit der Freigabe der Objekte umgegangen wird. Im Emba Beispiel wird die Notification (PresentNotification) weggeräumt.
Gefühlt sollte sich die NotificationCenter Liste selbst um die Freigabe kümmern.

Geändert von haentschman (16. Mai 2017 um 07:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#5

AW: NotificationCenter und deren Funktion

  Alt 16. Mai 2017, 07:26
Es kommt halt drauf an.

Wird das auch bei Windows deregistriert, wenn man das Objekt löscht, dann ist es ja wieder weg und kann nicht mehr angezeigt werden.
Es wäre ja auch praktisch, wenn man weiterhin eine Verbindung zum Windows hat, um die Notification abbrechen zu können, wenn man sie dann doch nicht mehr anzeigen will.

Würde dagegen durch ScheduleNotification in Windows nur ein neuer Eintrag (Kopie ) gemacht und der wird nicht gelöscht/entfernt/Cancel/..., wenn man das Objekt freigibt, dann kann man das Free auch machen.

Drum ja einfach mal ausprobieren, ob es schon hilft, wenn man nicht löscht.



Das MyNotification.Name := 'Windows Notification'; ist schonmal kein TComponent.Name ? (wegen dem Leerzeichen, was da nicht erlaubt wäre)
Da könnte man nun auf die Idee kommen, dass es sowas wie eine ID sein könnte, mit der man später nochmal drauf zugreifen könnte, wenn man das Objekt zwischendurch gelöscht hätte und ein Neues erstellt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (16. Mai 2017 um 07:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.297 Beiträge
 
Delphi 12 Athens
 
#6

AW: NotificationCenter und deren Funktion

  Alt 16. Mai 2017, 07:33
Im Emba FMX Beispiel wird auch beim Schedule das Objekt weggeräumt (über die Referenzzählung)...
Delphi-Quellcode:
procedure TNotificationsForm.btnSendScheduledNotificationClick(Sender: TObject);
var
  Notification: TNotification;
begin

{ verify if the service is actually supported }
  Notification := NotificationC.CreateNotification;
  try
    Notification.Name := 'MyNotification';
    Notification.AlertBody := 'Delphi for Mobile is here!';

    { Fired in 10 second }
    Notification.FireDate := Now + EncodeTime(0,0,10,0);

    { Send notification in Notification Center }
    NotificationC.ScheduleNotification(Notification);
  finally
    Notification.DisposeOf;
  end;
end;
...dann ich bin hier leider raus.

Geändert von haentschman (16. Mai 2017 um 07:40 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: NotificationCenter und deren Funktion

  Alt 16. Mai 2017, 08:15
Möglichkeit 1: Du schaust in den Quelltext und siehst dass du mit ScheduleNotification(..) nur eine leere Methode aufrufst.

Möglichkeit 2: Du schaust in die Doku und siehst dass keine Plattform alles unterstützt. Windows hat vom RAD Studio leider den wenigsten Support.

Über die WinRT-API sollte es aber gehen.

Geändert von Der schöne Günther (16. Mai 2017 um 08:17 Uhr)
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: NotificationCenter und deren Funktion

  Alt 16. Mai 2017, 08:37
Ob ich das nu freigebe oder nicht, spielt überhaupt keine Rolle. Es wird schlicht nicht angezeigt.

Der Name der Notification ist in der Tat eine Art ID. Sie wird benötigt, wenn man das ganze über Cancel wieder ansprechen will.



Hab inzwischen weiter geforscht und eine Platform-Übersicht gefunden. Was soll ich sagen, das ganze (also Shedule usw.) wird unter Windows nicht unterstützt.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#9

AW: NotificationCenter und deren Funktion

  Alt 16. Mai 2017, 09:07
Man stelle sich mal vor wie die Fehlersuche verlaufen würde, käme jemand auf die irrsinnige Idee in einer nichtfunktionierenden Methode auch eine passende Fehlerbehandlung auszulösen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: NotificationCenter und deren Funktion

  Alt 16. Mai 2017, 12:01
Naja...man hät durchaus mal eine Fehlermeldung implementieren können. Dann weiß man zumindest das was panne läuft, aber so gar keine Reaktion......
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz