我手里有一个程序,开头声明了许多的变量:
Option Explicit
Const Kp = 0.728, Kip = 0.00565, Kdp = 1# 'G20M,222,50.49-49.99,20.42
Const r = 50# '温度设定值
Const Ts = 5000 '采样周期 Ts=5S
Private Temp, y(3), u(52), e(3), Max, Min As Single
Private W As Long
Private MaxTemp, MaxTime, t, Tr, DataForm As Integer
Private x0, x1, y0, y1 As Single
Private mydate, mytime As Date
Private k, flag As Integer
我把Option Explicit删掉也能运行,请问我可不可以删掉啊?
Option Explicit
Const Kp = 0.728, Kip = 0.00565, Kdp = 1# 'G20M,222,50.49-49.99,20.42
Const r = 50# '温度设定值
Const Ts = 5000 '采样周期 Ts=5S
Private Temp, y(3), u(52), e(3), Max, Min As Single
Private W As Long
Private MaxTemp, MaxTime, t, Tr, DataForm As Integer
Private x0, x1, y0, y1 As Single
Private mydate, mytime As Date
Private k, flag As Integer
我把Option Explicit删掉也能运行,请问我可不可以删掉啊?
解决方案 »
- SQL数据库问题
- 怎么用VB实现把WORD的每一页保存为图片
- 日文环境下,用日文版excel读取excel单元格中,中文文字的问题
- 用 CreateThread 传递参数的问题
- winsock TCP连接会丢包!
- 无效过程调用或参数???
- ■■■■请问:vsflexgrid 7 的BindToArray方法怎么用?用棒定数组的方法填充数据跟AddItem方法哪个快
- 界面设计的问题
- 能不能让我去实习!
- 搞数据库的同僚们:怎么样才算正宗的ADO技术?
- 请问在VB6里面有没有跟TreeView控件差不多的,但是当点吉一个节点的时候会有对应的值出来的,当然这个值不可以由控件生成的,而是一开始的时候由代码附加上去的,或者说有没有办法在TreeView控件中实现我在前面说的功能.
- 透明窗口
Private Temp, y(3), u(52), e(3), Max, Min As Single
在VB6中也是不规范的,在NET中以上所有变量是可以声明为Single,但在VB6中只有Min是Single...
那么SOME_CONST_VALUE就是empty
然后当你使用
select case Some_Result_Value
case SOME_CONST_VALUE
DoSomeThing
case else
DoOtherThings
end select很有可能本来Some_Result_Value的值是&H00000001&,本应该是DoSomeThing,结果永远都是DoOtherThings.
(1)显式声明是好习惯;
(2)防出错,对于大型程序特别明显;
(3)可以减少资源的占用,一个Integer肯定比 Variant 节省资源的占用
Option Explicit 语句
在模块级别中使用,强制显式声明模块中的所有变量。
语法
Option Explicit
说明
如果使用,Option Explicit 语句必须写在模块的所有过程之前。
如果模块中使用了 Option Explicit,则必须使用 Dim、Private、Public、ReDim 或 Static 语句来显式声明所有的变量。如果使用了未声明的变量名在编译时间会出现错误。
如果没有使用 Option Explicit 语句,除非使用 Deftype 语句指定了缺省类型,否则所有未声明的变量都是 Variant 类型的。
注意 使用 Option Explicit 可以避免在键入已有变量时出错,在变量的范围不是很清楚的代码中使用该语句可以避免混乱。
LZ,规范使用Option Explicit 语句可以降低系统开销,避免错误。
强烈建议LZ养成良好的编成习惯。