【发布时间】:2017-01-19 11:59:26
【问题描述】:
我正在使用 Microsoft 脚本控件 (IScriptControlPtr 接口) 在 C++ 中执行一个 VBScript 函数。
VBScript 函数:
Function Add1(a,b)
Add1 = a+b
End Function
我需要将 unsigned long 值传递给参数a 和b。
所以我将参数数据类型指定为VT_UI4。但是在执行该函数时,我收到错误“Variable uses an Automation Type not supported in VBScript”。
根据我的要求,如何处理 unsigned long 值?
【问题讨论】:
-
只要您不尝试对它们进行数学运算,它们就如同您设置的那样。重要的是如何解释整数。所以
A = &hffffffff。如果您尝试在 VBScript 中使用它,则为 -1。但是,如果您不尝试将其用作数字,它仍然具有价值。如果传递给一个函数,只需传递它。 VBScript 会认为您传递了 -1,并且该函数将获取 2^30 的无符号整数所具有的位。