- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们必须使用 CoFreeUnusedLibrariesEx 来修复使用 MSXML 库后堆未清除的错误引用这个链接: http://blogs.msdn.com/b/marcelolr/archive/2008/11/13/msxml-heaps-not-being-released.aspx
但这导致了 TTimers 的另一个问题,当 Delphi 应用程序弹起并在一段时间后再次显示时,该问题需要一段时间才能显示并消失。
此应用程序使用 TTimers 来安排其工作,例如运行 XML 转换。
问题是这样的:当 TTimer.Enable 被调用时,它会抛出一个错误,没有足够的计时器可用。我知道这是一个隐藏的错误,我必须弄清楚如何找到实际的错误。
这是一个只有一个计时器的单线程应用程序。
这是我查看的链接最常见的原因似乎是无效的窗口句柄 https://groups.google.com/forum/#!topic/borland.public.delphi.winapi/UrIskaFZggU
还有其他线程表明操作系统耗尽了定时器的资源,我不确定这是否与我相关。
我只是想了解 CoFreeUnusedLibrariesEx 和 TTimers 之间的交互是什么,它逐渐抢夺资源并让我们弹跳应用程序以使其正常工作。
我正在寻找一些方向,如何解决这个问题?
最佳答案
CoFreeUnusedLibrariesEx 不应影响 TTimers。但是,如果加载和卸载(有缺陷的)dll 泄漏了任何用户对象(这包括计时器、窗口句柄……),那么我可以想象您用完了用户对象。
使用 Windows 任务管理器并对其进行配置,以便它将在“进程”选项卡中显示“用户对象”。然后比较调用 CoFreeUnusedLibrariesEx 和不调用 CoFreeUnusedLibrariesEx 时的用户对象数量。
关于delphi - CoFreeUnusedLibrariesEx 如何影响 delphi 中的 TTimers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26361767/
我们必须使用 CoFreeUnusedLibrariesEx 来修复使用 MSXML 库后堆未清除的错误引用这个链接: http://blogs.msdn.com/b/marcelolr/archiv
我是一名优秀的程序员,十分优秀!