作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在我的应用程序中实现 Windows 10 通知。然而,下面的代码(运行良好)显然给出了 1 个 TNotification 对象和 2 个字符串的备忘录泄漏,但我在 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;
我是在做一些愚蠢的事情还是在通知的实现中存在内存泄漏?
最佳答案
这确实是由TNotificationCenterDelegateActivated
引起的泄漏。在其 Create
中,创建了 TNotification
参数的副本,但从未释放。
似乎负责此代码的一些开发人员不太熟悉非 ARC 环境。
关于delphi - Delphi 西雅图的 Windows 10 TNotification 内存泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36310645/
尝试使用 GetIt 包管理器将 JCL 和 JVCL 安装到 Delphi 10 Seattle 时出现错误: “Windows 7 专业服务包 1 (6.1.7601) JVCL 3.50.0.0
我在 2 台机器上安装了 Delphi 10 Seattle。我在这两个方面都遇到了同样的问题。 当我输入函数/过程并输入 ( 时,以前版本中会弹出一个提示,显示函数参数以及您所处的步骤,但这不再起作
我在 Delphi XE2 中创建了 App.exe 应用程序,然后在 Delphi 10 Seattle 中创建了 DLL。当我在调用 DLL 后将 Application.Handle 传递给 D
我是一名优秀的程序员,十分优秀!