首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何找到一个反复出现的“幽灵”托盘气球弹出的来源?

问我如何找到一个反复出现的“幽灵”托盘气球弹出的来源?
EN

Stack Overflow用户
提问于 2011-03-08 20:36:16
回答 2查看 776关注 0票数 1

我有一个D2006应用程序,可以通过托盘气球提示通知各种事件。偶尔,但不是很频繁- -比如应用程序-的10次调用中就有1次,其中一个提示决定它将一次又一次地出现……永远不变。唯一能阻止它的就是关闭应用程序。

如果应用程序发出另一个气球提示,它将替换幻影提示,但在新提示超时后,幻影提示将返回。同样,如果我关闭幻影提示,它会立即返回。

我已经验证了创建提示的代码没有被重复调用。这种暗示起源于肠道更深的某处。

代码语言:javascript
复制
    MainForm.TrayIcon1.BalloonFlags   := Flag ;
    MainForm.TrayIcon1.BalloonTitle   := Title ;
    MainForm.TrayIcon1.BalloonHint    := Message ;
    MainForm.TrayIcon1.BalloonTimeout := Delayms ;
    MainForm.TrayIcon1.ShowBalloonHint ;
EN

回答 2

Stack Overflow用户

发布于 2011-03-08 21:18:39

为气球提示创建一个公共入口点。即包装器函数。除了要显示的文本之外,还应包括另一个名为WhereCalledFrom的字符串参数,并使用该参数来标识应用程序的哪个部分正在调用提示。

在包装器中,记录所有提示调用(对.txt文件、GExperts调试器、Windows Output Debug String、Windows Event Log等)。记录日期/时间、WhereCalledFrom和消息。这应该可以让你很容易地追踪到它。

票数 5
EN

Stack Overflow用户

发布于 2011-03-10 08:42:46

你可能想尝试关闭自动关闭气球关闭,让你的应用程序来做,例如,当你显示气球时设置一个计时器,然后当计时器到期时,关闭气球。

最重要的是(我在c#中也遇到过类似的问题--我认为这更多是windows的问题,而不是特定于集成开发环境的问题),其中一个解决方案是手动将托盘图标设置为不可见,然后将其设置为可见。

代码语言:javascript
复制
TrayIcon1.Visible := false;
TrayIcon1.Visible := true;

所以当你手动隐藏气球图标时,运行上面的代码来“清理”系统托盘。这可能会阻止“幻影”气球暗示。只是想试一试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5232533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档