Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7 VB6程序挂起(减慢)Windows 7 64位,但不是32位。有解决办法吗?_Windows 7_Loops_Vb6_32bit 64bit - Fatal编程技术网

Windows 7 VB6程序挂起(减慢)Windows 7 64位,但不是32位。有解决办法吗?

Windows 7 VB6程序挂起(减慢)Windows 7 64位,但不是32位。有解决办法吗?,windows-7,loops,vb6,32bit-64bit,Windows 7,Loops,Vb6,32bit 64bit,我们有一个用VB6编写的程序,在Windows7上运行良好,32位,双核,随时可用。现在我们正在Windows7 64位(双核)上试用,但令人惊讶的是,它的工作性能并没有那么好:在长进程、长循环中,系统变得饱和(50%的处理器使用率导致系统挂起),并且不可能换成另一个程序(例如:ALT+TAB不工作或工作速度非常慢),就像5-10年前一样,当我们的计算机只有一个处理器或内核时。有什么想法吗?有什么限制吗?64位SO和VB6运行时是否存在瓶颈 现在的解决方案既过时又不优雅:我可以用Doevents

我们有一个用VB6编写的程序,在Windows7上运行良好,32位,双核,随时可用。现在我们正在Windows7 64位(双核)上试用,但令人惊讶的是,它的工作性能并没有那么好:在长进程、长循环中,系统变得饱和(50%的处理器使用率导致系统挂起),并且不可能换成另一个程序(例如:ALT+TAB不工作或工作速度非常慢),就像5-10年前一样,当我们的计算机只有一个处理器或内核时。有什么想法吗?有什么限制吗?64位SO和VB6运行时是否存在瓶颈

现在的解决方案既过时又不优雅:我可以用Doevents来解决这个问题(我们已经尝试过了,而且效果很好)禁用和启用所有控件,但是它充满了启用/禁用的控件,很难管理它并返回正确的状态

提前谢谢


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

好的,谢谢您的评论。最后,3天后,我们发现了问题

在代码中使用了大量具有不同路径的建筑之后,我们发现了一种方法,该方法使用以下方法在Farpoint Spread v7上启用工具提示(textTip/textTipDelay):

此控件包含在一个从不卸载的窗体上,只有我们将其隐藏。如果卸载表单或注释这两行代码,问题就会消失。 也许Matt找到了解决方案的正确路径,启动工具提示事件的控件中的某个计时器会挂起或挂起系统中的某些内容


又是Thx。

为什么要说CTRL+TAB?通常使用ALT+TAB切换程序。除非您在这里谈论的是多文档界面…?毫无意义的是,
DoEvents
会使应用程序更具响应性。唯一有意义的方法是在UI处理程序中运行一堆代码。如果是这样的话,就别再那样做了
DoEvents
永远不是答案。修复应用程序的设计是一个更好的选择。ups!对不起,ALT+TAB。thx Tomakcody,我知道这不是解决办法,但这是我找到的唯一方法。我认为,这不是设计问题,它在32位的基础上工作良好,但在64位的基础上工作不好。DoEvents可能会使它更灵敏,但正如@Cody Gray所述,情况并非如此。您是否在计时器上运行某些东西?如果是,请尝试增加计时器时间。在安装上一次扩展控件升级(7.0.56)后,它始终工作正常。
fpspreadControl.TextTip = TextTipFloating 
fpspreadControl.TextTipDelay = 250