vbs set

上一篇 / 下一篇  2014-03-17 20:20:05

Set的取舍
这个系列从一个简单的问题开始吧—— "赋值语句中的是否要用set关键字?" 你有答案了吗?暂且不说要或者不要,哪一种更好。还没有走那么远。只是问你,你确信的问题的答案“正确”吗?不要急于辩解,看看下面的代码吧。

Dim WshShell, WshSysEnv, ProcArc
set WshShell = WScript.CreateObject("WScript.Shell") 
set WshSysEnv = WshShell.Environment("System") 
set ProcArc = WshSysEnv("PROCESSOR_ARCHITECTURE") 
WScript.Echo ProcAr
 
你觉得这一下段代码会有错误吗?。。。它真有错误!!!
执行完以上代码,你会得到如下错误:“...Object Required:'[string:"X86"]'...”

我在微软官方网站上看到的是“set将对象引用赋给变量或属性”,那么如果将“非对象引用赋给变量或属性”而且用了set关键字,会咋样呢?你答对了,就是上面的错误。

我总结一下,可能不够专业,见笑:“对象要赋值给非对象的变量,此时必须用set;而非对象的要赋值给对象,此时一定不能用set;set后面跟的的变量则总是被解释器看作是非对象的变量”。

 

终于找到依据了:Set is a special VBScript. statement that is used only when creating an object reference. If you use Set for other purposes, such as assigning a value to a variable, a run-time error will occur.(引自:http://technet.microsoft.com/en-us/library/ee198850.aspx)

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-03-25  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 12427
  • 日志数: 16
  • 图片数: 2
  • 建立时间: 2011-03-22
  • 更新时间: 2016-01-14

RSS订阅

Open Toolbar