VB超频快餐,让我一次用个够!(二)

发表于:2007-06-21来源:作者:点击数: 标签:
下一页 1 2 火眼识破隐藏的Variant变量 如果没有用As语句声明变量,默认类型就是Variants,比如: Dim name ’ this is a variant 或者,当前模块下没有声明Option Explicit语句时,任何变量都是Variants类型。 许多 开发 者,特别是那些先前是C 程序员 的人

下一页 1 2 

   火眼识破隐藏的Variant变量

如果没有用As语句声明变量,默认类型就是Variants,比如:

Dim name ’ this is a variant

或者,当前模块下没有声明Option Explicit语句时,任何变量都是Variants类型。

许多开发者,特别是那些先前是C程序员的人,都会深信下面的语句将声明2个Interger类型变量:

Dim x, y As Integer

而实际上,x被声明为了variant类型。由于variant类型变量要比Integer类型慢很多,所以要特别注意这种情况。正确的一行声明方法是:

Dim x As Integer, y As Integer

GoSub在编译程序中速度变慢

编译为本地代码的VB应用程序中,如果使用 GoSubs 命令,就会比通常的 Subs 或者 Function 调用慢5-6倍;相反,如果是p-code模式,就会相当快。
减少DoEvents语句的数量

不要在代码中放置不必要的DoEvents语句,尤其是在时间要求高的循环中。遵循这个原则,至少能在循环中的每N次反复时才执行DoEvents语句,从而增强效率。比如使用下面的语句:

If (loopNdx Mod 10) = 0 Then DoEvents

如果只是使用DoEvents来屏蔽鼠标以及键盘操作,那么就可以在事件队列中存在待处理项目时调用它。通过API函数GetInputState来检查这个条件的发生:

Declare Function GetInputState Lib "user32" Alias "GetInputState" () As Long

’ ...

If GetInputState() Then DoEvents

原文转自:http://www.ltesting.net