首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何避免白屏?

如何避免白屏?
EN

Stack Overflow用户
提问于 2009-10-13 15:31:05
回答 5查看 1.8K关注 0票数 1

使用VB6

在执行时,在操作数据库时会出现白屏,如何避免在VB6中出现白屏。

白色空白屏幕表示挂起(当IT正在处理数据库时)。

如何避免这种情况?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-10-13 15:38:50

我假设您的意思是,在执行长时间运行的操作时,GUI不会重新绘制自身。(从Vista开始实际上应该不那么明显,但我离题了)。

如果长时间运行的操作由几个步骤或紧密循环组成,那么可以偶尔调用DoEvents,使表单即使在执行工作时也能保持一定程度的响应性。

另一种选择是将您的长时间运行的工作迁移到单独的线程中,但最后我认为,这在VB6中并不是微不足道或容易实现的。

票数 4
EN

Stack Overflow用户

发布于 2009-10-13 15:34:43

你应该在单独的线程中处理数据库,任何耗时的操作也应该在单独的线程中运行。在这种情况下,您的用户界面不会被冻结。

票数 1
EN

Stack Overflow用户

发布于 2009-10-13 16:36:01

这实际上和你的"How to exit the program immediately“问题是同一个问题。在这两种情况下,问题都是数据库操作阻塞了VB6程序的执行。

  • 另一个问题的answer you accepted -使用ADO异步执行操作-也将解决这个空白屏幕问题。或者,如果您愿意,也可以遵循我在my answer to your other question中的一个建议,并通过像this.
  • Or这样的互操作使用.NET后台工作程序组件,遵循我的其他建议,将数据库工作委托给ActiveX exe like this。编辑AngryHacker的nice answer此问题使用此方法。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1560998

复制
相关文章

相似问题

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