在 Windows® 腳本部件文件中方法是作為函數(shù)或子例程實現(xiàn)的。
要說明一個方法
例如,下面的示例演示了具有兩個方法的腳本部件文件片段,這兩個方法分別為 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>
可以給腳本部件指定一個缺省方法,以便宿主應(yīng)用程序不必顯式調(diào)用就可以使用該方法。例如,如果已聲明了一個稱為 factorial 的方法,并將其標記為缺省的,則可以在 Visual Basic 中用下述方式調(diào)用該函數(shù):
Set component = CreateObject("component.MyComponent") n = component.factorial(4) ' Calls factorial method explicitly. n = component(4) ' Calls factorial method as default.
要指定缺省方法,請包括一個將特殊的派遣標識符(dispid)指定給該方法的屬性。關(guān)于 dispid 的詳細信息,請參閱說明事件。
要指定缺省方法
<public> <method name="factorial" dispid="0"/> </public>
注意 這個技術(shù)可用來指定一個缺省方法或一個缺省屬性,但不能同時指定。在腳本部件中只能有一個元素的 dispid 為零。
說明事件 | 說明屬性 | 腳本部件文件的內(nèi)容