AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi TTrayIcon ShowBalloonHint 20x seit Windows 11
Thema durchsuchen
Ansicht
Themen-Optionen

TTrayIcon ShowBalloonHint 20x seit Windows 11

Ein Thema von stalkingwolf · begonnen am 16. Mai 2024 · letzter Beitrag vom 19. Mai 2024
Antwort Antwort
stalkingwolf

Registriert seit: 6. Mai 2011
552 Beiträge
 
#1

AW: TTrayIcon ShowBalloonHint 20x seit Windows 11

  Alt 17. Mai 2024, 13:15
Ohne animate wird es in der Tat nur 1x in das NotificationCenter gesetzt.
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
778 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TTrayIcon ShowBalloonHint 20x seit Windows 11

  Alt 17. Mai 2024, 14:03
Ich halte das eher für ein Problem von Delphi. Zumindest in meinem Delphi 11.2.

Da du das Icon animierst, wird via Timer DoAnimate aufgerufen (und die Icons werden wie erwartet korrekt in Windows 11 angezeigt).

Wenn du trayicon1.ShowBalloonHint; ausführst
wird FData.uFlags gesetzt:
FData.uFlags := FData.uFlags or NIF_INFO;

Und während dem DoAnimiate wird dieser Wert im Refresh des TryIcons fortan an Windows übergeben. Da NIF_INFO gesetzt bleibt, wird im Notification Center bei jeder Iconanimation ein "NIF_INFO Wunsch" abgesetzt. Windows zeigt zum Glück nur die ersten 20 an .

Lösung: Nach Anzeige des Balloons das Flag NIF_INFO aus FData.uFlags entfernen.


Dies hilft bei meinem Delphi 112 und Windows 11:
Delphi-Quellcode:
procedure TCustomTrayIcon.ShowBalloonHint;
var HuFlags : UINT;
begin
  HUFlags := FData.uFlags;
  FData.uFlags := FData.uFlags or NIF_INFO;
  FData.dwInfoFlags := Cardinal(FBalloonFlags);
  Refresh(NIM_MODIFY);
  FData.uFlags := HUFlags; // nehme hier an, dass Delphi nicht noch mehr ... baut und NF_INFO nicht in HUFlags ist
  // alternativ dazu könnte man NF_INFO explizit löschen
end;
Du schreibst, dass frühere Windows Versionen nicht betroffen sind: Ich nehme an, dass frühere Versionen eine erneute gleiche Anfrage ignoriert haben.
Michael Gasser

Geändert von Michael II (17. Mai 2024 um 22:39 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.094 Beiträge
 
Delphi 12 Athens
 
#3

AW: TTrayIcon ShowBalloonHint 20x seit Windows 11

  Alt 19. Mai 2024, 09:39
Hallo,

ok, das sieht ja jetzt scheinbar nach einem Bug in Delphi aus.
Da wäre es toll, wenn der originale Poster mal unter quality.embarcadero und unter
https://qp.embarcadero.com/ nachschauen würde ob das schon erfasst ist und falls nicht
bitte erfasst. Dann besteht die Chance, dass EMBT das korrigiert.

Grüße und schönen Feiertag
TurboMagic
Grüße
TurboMagic
  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 20:54 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