我们需要使用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 还有其他帖子建议,操作系统的TIMERS资源耗尽了,我不确定这是否与我相关。
我只是想了解CoFreeUnusedLibrariesEx和TTimers之间的交互方式,它逐渐地以某种方式剥夺它的资源,并使我们弹出应用程序以使其工作。
我该如何解决这个问题,我正在寻找一些方向?
该应用程序使用TTimers来安排任务,如运行XML转换。
问题在于: 当调用TTimer.Enable时,它会抛出一个错误,表示没有足够的计时器可用。 我知道这是一个掩盖的错误,我必须找出如何找到实际的错误。
这是一个单线程应用程序,只有一个计时器。
我查看了以下链接: 最常见的原因似乎是无效的窗口句柄 https://groups.google.com/forum/#!topic/borland.public.delphi.winapi/UrIskaFZggU 还有其他帖子建议,操作系统的TIMERS资源耗尽了,我不确定这是否与我相关。
我只是想了解CoFreeUnusedLibrariesEx和TTimers之间的交互方式,它逐渐地以某种方式剥夺它的资源,并使我们弹出应用程序以使其工作。
我该如何解决这个问题,我正在寻找一些方向?
SetTimer
和KillTimer
函数进行仪器化调用。 - David Heffernan