8

I'm implementing Windows 10 Notification in my application. However, the code below (which runs fine) apparently give a memo leak of 1 TNotification object and 2 strings, yet I free the object at the end of the block:

aNotification := NotificationCenter.CreateNotification;

//-- If not assigned then must be Win 8.1 or below
if not assigned(aNotification) then
  exit;

try
  aNotification.Title := AlignMixVersionName + ' License';
  aNotification.AlertBody := aText;

  NotificationCenter.PresentNotification(aNotification);

finally
  aNotification.Free;
end;

Am I doing something stupid or is there a memory leak in the implementation of Notifications?

  • Steve
Danilo Casa
  • 506
  • 1
  • 9
  • 18
Steve Maughan
  • 1,174
  • 3
  • 19
  • 30

1 Answers1

8

It is indeed a leak caused by TNotificationCenterDelegateActivated. In its Create a copy of the TNotification parameter is created, but never freed.

Seems like some developers responsible for this code are not that proficient with non-ARC environments.

Uwe Raabe
  • 45,288
  • 3
  • 82
  • 130