以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  Byte型和Short型的全局变量定义不能设初始值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=625)

--  作者:kylin
--  发布时间:2008/9/20 11:10:00
--  Byte型和Short型的全局变量定义不能设初始值
Vars.Add("copy",GetType(Boolean),False)
Vars.Add("copyps",GetType(Integer),0)  
Vars.Add("copyhm",GetType(Byte),0)    
Vars.Add("copytj",GetType(String))     
这几个,出现如此,不知道原因?

图片点击可在新窗口打开查看此主题相关图片如下:tp1.jpg
图片点击可在新窗口打开查看
这几个变量名在项目中是唯一定义的

测试结果及结论见5楼
[此贴子已经被作者于2008-9-20 11:57:32编辑过]

--  作者:eric803
--  发布时间:2008/9/20 11:20:00
--  
 Vars.Add("copyhm",GetType(Byte),0)    
 是有问题!
    

--  作者:kylin
--  发布时间:2008/9/20 11:31:00
--  
补充 Vars.Add("copyhm",GetType(Short),0)    也会出错,
改为 Vars.Add("copyhm",GetType(Integer),0)    才可以。

--  作者:gdtgl
--  发布时间:2008/9/20 11:41:00
--  
如果不设初始值,应可以通得过:

Vars.Add("copyhm",GetType(Byte))

--  作者:kylin
--  发布时间:2008/9/20 11:47:00
--  

按4楼的是没有问题,

Vars.Add("copyhm",GetType(Short))
Output.show(Vars("copyhm")) **0

Vars.Add("copyhm",GetType(Short))
Output.show(Vars("copyhm"))**0

那么可以归结这连个类型不可以设初始值,定义本身就有默认值0

[此贴子已经被作者于2008-9-20 11:53:43编辑过]

--  作者:gdtgl
--  发布时间:2008/9/20 11:50:00
--  
我想应是没有完善?因为帮助说明说得很清楚可以设初始值~ 加其他数值也不行.
[此贴子已经被作者于2008-9-20 11:55:01编辑过]

--  作者:lxl
--  发布时间:2008/9/20 12:28:00
--  

想赋初值可以这样
Vars.Add("copyhm",GetType(Byte),CByte(0)) 
Vars.Add("copyhm",GetType(Byte),CByte(1)) 
Vars.Add("copyhm",GetType(Short),CShort(1)) 


可能是bug   Integer变量不能自动传换成Byte型变量 所以用CByte强制转换一下

[此贴子已经被作者于2008-9-20 12:31:25编辑过]

--  作者:czy
--  发布时间:2008/9/20 12:31:00
--  
以下是引用kylin在2008-9-20 11:31:00的发言:
补充 Vars.Add("copyhm",GetType(Short),0)    也会出错,
改为 Vars.Add("copyhm",GetType(Integer),0)    才可以。


谢谢!这应该是个bug,会搞定的。