(已解决)关于SetError和SetExtended结果不一样的疑问
本帖最后由 yarsye 于 2011-4-29 10:06 编辑SetError(2)
SetExtended(2)
MsgBox(0,1,@Error & @crlf & @extended)
iniwrite(@desktopdir & '\1.ini','s','errorcode',@error)
iniwrite(@desktopdir & '\1.ini','s','extendedcode',@extended)
运行上面测试代码后发现,msgbox里面的@error = 0 ,@extended = 2
桌面上ini文件里面的值却全部都是0,如果把msgbox注释掉ini里面还是0,奇怪的是为什么值会不一样?应该没什么问题的呀?
见2楼和3楼的解释。 加了msgbox,@error必然是会变的.
第一次iniwrite后,@extended也是会变的,所以最后一行写入值必然是0
至于第一次iniwrite(无msgbox)的值也是0,怀疑是iniwrite过程中也调用了别的api之类的导致@error变化.
如果需要保存@error值,那么可以先用一个变量把这个值保存起来. 你第三行:里的@error ,@extended 的值来源于你第二行。明白了么?跟你第一行一点儿关系都没有。。。
因为:你的第二行:SetExtended(2)执行完后,就已经初始化:@error=0,@extended = 2
明白了么?下边第四行第五行同解均来源于上一行。。。。 学习了,谢谢!!
(如果需要保存@error值,那幺可以先用一个变量把这个值保存起来) 回复 2# easefull
感谢 学习了 回复 3# boyhong
明白了 谢谢 @error是错误值,@extended错误的原因值 回复 7# netegg
感谢回复 知道定义一个全局变量是必须的了
页:
[1]