VB6程序挂起(慢)Windows 7 64位但不是32位。有解决方案吗

时间:2011-04-15 07:51:24

标签: windows-7 loops vb6 32bit-64bit

我们有一个用VB6编码的程序可以随时在Windows7 32位上运行,并且具有双核心。现在我们正在试用Windows7 64位(双核),令我们惊讶的是它不能正常工作:在长时间的过程中,长循环,系统变得饱和(挂起50%的处理器使用)并且不可能改为另一个程序(例如:ALT + TAB不起作用或工作得很慢),就像5 - 10年前,当我们的计算机只有一个处理器或核心时。任何的想法?任何限制? 64位SO和VB6运行时的任何瓶颈?

此时的旧时尚而不是优雅的解决方案:我可以通过 Doevents 解决这个问题(我们已经尝试了,它可以正常工作)禁用并启用所有控件,但它充满了启用/禁用控件,很难管理它并返回正确的状态

提前致谢。

更新信息:如果我们正在运行基于32位模式的2个应用程序(它在taskmanager中注明,如* 32),当其中一个挂起Windows7时,ALT + TAB在32之间正常工作位应用程序和GUI工作正常。但是如果我们使用64位更改为应用程序,则GUI不会响应。

1 个答案:

答案 0 :(得分:0)

好的,谢谢你的评论。最后,经过3天,我们发现了问题!

在代码中有很多具有不同路径的建筑物之后,我们找到了一种方法,使用方法(textTip / textTipDelay)启用Farpoint Spread v7上的工具提示:

fpspreadControl.TextTip = TextTipFloating 
fpspreadControl.TextTipDelay = 250

此控件包含在永不卸载的表单中,只有我们隐藏它。如果我们卸载表单或者我们评论这两行代码,问题就会消失。 也许Matt有正确的解决方案,启动工具提示事件的控件中的一些Timer挂起或挂钩系统中的某些东西。

再次感谢。