在 Windows® 脚本部件文件中方法是作为函数或子例程实现的。
要说明一个方法
例如,下面的示例演示了具有两个方法的脚本部件文件片段,这两个方法分别为 factorial 和 getRandomNumber。
注意 CDATA 项是必需的,以使 <script> 元素中的脚本是不透明的。详细信息请参阅脚本部件文件和 XML 一致性。
<public> <method name="factorial"/> <method name="random" internalName="getRandomNumber"><parameter name="upperBound"/>
<parameter name="seed"/>
</method> </public> <script language="VBScript"> Function factorial(n) <![CDATA[ If isNumeric(n) Then If n <= 1 Then factorial = 1 Else factorial = n*factorial(n-1) End If Else factorial = -2 ' Error code. End If End Function Function getRandomNumber(upperBound, seed) getRandomNumber = Cint(upperBound * Rnd(seed) + 1) End Function ]]> </script>
可以给脚本部件指定一个缺省方法,以便宿主应用程序不必显式调用就可以使用该方法。例如,如果已声明了一个称为 factorial 的方法,并将其标记为缺省的,则可以在 Visual Basic 中用下述方式调用该函数:
Set component = CreateObject("component.MyComponent") n = component.factorial(4) ' Calls factorial method explicitly. n = component(4) ' Calls factorial method as default.
要指定缺省方法,请包括一个将特殊的派遣标识符(dispid)指定给该方法的属性。关于 dispid 的详细信息,请参阅说明事件。
要指定缺省方法
<public> <method name="factorial" dispid="0"/> </public>
注意 这个技术可用来指定一个缺省方法或一个缺省属性,但不能同时指定。在脚本部件中只能有一个元素的 dispid 为零。