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
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.431 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
44.342 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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 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
44.342 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.
Ein Therapeut entspricht 1024 Gigapeut.

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.431 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
ZYLAGON

Registriert seit: 11. Nov 2015
50 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: NotificationCenter und deren Funktion

  Alt 17. Mai 2017, 20:52
Zitat:
Delphi-Quellcode:
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;
Dieser Code erzeugt ein Speicherleck.
Weiß vielleicht jemand, wie das ohne Speicherleck geht?

ZYL
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: NotificationCenter und deren Funktion

  Alt 3. Feb 2022, 16:21
5 Jahre später und diese Komponente funktioniert immernoch nicht.
https://www.delphipraxis.net/209875-...-reaktion.html

Anzeigen tut es was, egal ob mit oder ohne Freigeben (wenn man sofort anzeigt und nicht über einen Zeitstempel)

Aber beim Schließen der Anwendung knallt es dann öfters mal in einem TDictionary<>.

Das Event reagiert nur, wenn man auf das PopupFenster kickt, aber nicht wenn in der Sidebar.

Und programmseitig aufräumen kann man Notifications auch noch nicht.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz