欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Windows 腳本部件  

創(chuàng)建腳本部件類(lèi)型庫(kù)

可以為 Windows® 腳本部件生成一個(gè)類(lèi)型庫(kù),用來(lái)包含其接口和成員的信息。在有些宿主應(yīng)用程序(如 Visual Basic)中,如果要給腳本部件啟用事件能力,則類(lèi)型庫(kù)是必需的,而在其他宿主應(yīng)用程序中,類(lèi)型庫(kù)則是可選的。不過(guò),即使類(lèi)型庫(kù)不是必需的,生成類(lèi)型庫(kù)也能使腳本部件更易于使用,并在宿主應(yīng)用程序中更少產(chǎn)生錯(cuò)誤。

例如,如果您要使用 Visual Basic 作為宿主應(yīng)用程序,使用 Reference 對(duì)話框來(lái)選擇腳本部件的類(lèi)型庫(kù)。這樣做可以將事件綁定到腳本部件上,并且在 Visual Basic 中可見(jiàn)。此外,在您編寫(xiě)腳本部件的相關(guān) Visual Basic 代碼時(shí),Visual Basic 可以在語(yǔ)句結(jié)束時(shí)在對(duì)象瀏覽器中使用類(lèi)型庫(kù)信息,從而使您能夠很方便地看到和使用腳本部件的屬性、方法和事件。

注意   關(guān)于在宿主應(yīng)用程序中使用類(lèi)型庫(kù)的詳細(xì)信息,請(qǐng)參閱應(yīng)用程序的文檔。

創(chuàng)建腳本部件類(lèi)型庫(kù)

要更精確控制類(lèi)型庫(kù)的生成,您可以從腳本部件文件的腳本內(nèi)動(dòng)態(tài)地生成類(lèi)型庫(kù),或者也可以使用命令行接口。

動(dòng)態(tài)生成類(lèi)型庫(kù)

腳本部件運(yùn)行庫(kù)包括一個(gè)由Component.GenerateTypeLib 對(duì)象實(shí)現(xiàn)的 Automation 接口。您可以在腳本中使用這個(gè)對(duì)象從腳本部件文件內(nèi)生成類(lèi)型庫(kù)。這對(duì)于在注冊(cè)腳本部件時(shí)自動(dòng)創(chuàng)建類(lèi)型庫(kù)是特別有用的。

動(dòng)態(tài)創(chuàng)建腳本部件類(lèi)型庫(kù)

  1. 在腳本部件文件內(nèi)的腳本中,可以使用類(lèi)似下面的語(yǔ)法創(chuàng)建 Component.GenerateTypeLib 對(duì)象的一個(gè)實(shí)例:
    set oTL = CreateObject("Scriptlet.GenerateTypeLib")
  2. 可以設(shè)置Component.GenerateTypeLib 對(duì)象的下述屬性:
屬性/方法 描述
AddURL (方法) 添加腳本部件的 URL 來(lái)生成類(lèi)型庫(kù)。您可以多次調(diào)用該方法屬性,從而使類(lèi)型庫(kù)中包含多個(gè)腳本部件。
Path (屬性) 類(lèi)型庫(kù)的路徑和文件名。如缺省路徑是當(dāng)前路徑,缺省文件名是帶有 .tlb 擴(kuò)展名的腳本部件文件名。果該對(duì)象不能創(chuàng)建所指定的類(lèi)型庫(kù),則將在腳本部件所處目錄下缺省創(chuàng)建一個(gè)名為component.tlb 的類(lèi)型庫(kù)。
Doc (屬性) 是一個(gè)字符串,包含與類(lèi)型庫(kù)信息一起存儲(chǔ)在注冊(cè)表中的任何信息。
GUID (屬性) 該類(lèi)型庫(kù)的 GUID。(不是腳本部件的 GUID。)如果不提供這個(gè)值,則GenerateTypeLib 對(duì)象將創(chuàng)建一個(gè),但是這樣在每個(gè)機(jī)器上類(lèi)型庫(kù)將具有不同的GUID。GUID 必須遵照以下格式,其中 x 代表十六進(jìn)制值:
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
Name (屬性) 類(lèi)型庫(kù)的內(nèi)部名稱(chēng)。有些應(yīng)用程序(如 Visual Basic Object Browser)將顯示該名字。
MajorVersion (屬性) 指定的一個(gè)整數(shù)值。
MinorVersion (屬性) 指定的一個(gè)整數(shù)值。
  1. 調(diào)用該類(lèi)型庫(kù)對(duì)象的 Write 方法來(lái)創(chuàng)建 .tlb 文件,然后將其注冊(cè)。
  2. 如果要?jiǎng)?chuàng)建一個(gè)附加類(lèi)型庫(kù),請(qǐng)調(diào)用 GenerateTypeLib 對(duì)象的 Reset 方法來(lái)清除 AddURL 屬性中的腳本部件文件的列表,重新設(shè)置 URL 以及任何其他所需的屬性,然后重新調(diào)用 Write 方法。

例如,下面 <registration> 元素中的腳本將動(dòng)態(tài)創(chuàng)建一個(gè)類(lèi)型庫(kù)。

注意   CDATA 項(xiàng)是必需的,將使 <script> 元素中的腳本成為不透明的。詳細(xì)信息請(qǐng)參閱 腳本部件文件和 XML 一致性。
<registration
   description="My Test Component"
   progid="Component.TestScript"
   version="1"
   classid="{2154c700-9253-11d1-a3ac-0aa0044eb5f}">
   <script language="VBScript">
   <![CDATA[
   Function Register()
      Set oTL = CreateObject("Scriptlet.GenerateTypeLib")
         oTL.AddURL "d:\components\MyComponent.wsc"   ' 腳本部件的 URL。
         oTL.AddURL "d:\components\YourComponent.wsc"
         oTL.Path = "d:\components\MyComponent.tlb"   ' .tlb 路徑。
         oTL.Doc = "Sample component typelib"   ' 文檔字符串。
         oTL.GUID = "{a1e1e3e0-a252-11d1-9fa1-00a0c90fffc0}"
         oTL.Name = "MyComponentTLib" ' tlb 的內(nèi)部名稱(chēng)。
         oTL.MajorVersion = 1
         oTL.MinorVersion = 0
         oTL.Write ' 將 tlib 寫(xiě)入磁盤(pán)。
         oTL.Reset ' 清除 AddURL 中的 URL 列表。
      End Function
   ]]>
   </script>
</registration>

命令行接口

如果喜歡使用“命令提示符”窗口,則可以調(diào)用 Rundll32.exe 程序來(lái)創(chuàng)建類(lèi)型庫(kù)。

從命令提示符創(chuàng)建類(lèi)型庫(kù)

例如,下面的命令將從 MyComponent.wsc 這個(gè)腳本部件創(chuàng)建一個(gè)稱(chēng)為 MyComponent.tlb 的類(lèi)型庫(kù)(為清楚起見(jiàn),該命令分成多行顯示):

rundll32.exe c:\winnt\system32\scrobj.dll,GenerateTypeLib 
   -name:MyComponentTLib -file:d:\components\MyComponent.tlb 
   -doc:\"Sample component typelib\" 
   -guid:{a1e1e3e0-a252-11d1-9fa1-00a0c90fffc0} -major:1 -minor:0 
   -URL:d:\components\MyComponent.wsc

類(lèi)型庫(kù)疑難解答

生成類(lèi)型庫(kù)的過(guò)程可能因?yàn)楦鞣N原因而失敗。所得到的錯(cuò)誤信息可能不足以在所有情形下都能確定問(wèn)題的所在。如果不能生成類(lèi)型庫(kù),請(qǐng)查看下面可能導(dǎo)致失敗的原因清單。

請(qǐng)參閱

腳本部件文件的內(nèi)容 | 創(chuàng)建注冊(cè)信息 | 檢查腳本部件文件中的錯(cuò)誤 | 腳本部件文件和 XML 一致性