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

Windows 腳本部件  

創(chuàng)建腳本部件類型庫

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

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

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

創(chuàng)建腳本部件類型庫

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

動態(tài)生成類型庫

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

動態(tài)創(chuàng)建腳本部件類型庫

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

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

注意   CDATA 項是必需的,將使 <script> 元素中的腳本成為不透明的。詳細信息請參閱 腳本部件文件和 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)部名稱。
         oTL.MajorVersion = 1
         oTL.MinorVersion = 0
         oTL.Write ' 將 tlib 寫入磁盤。
         oTL.Reset ' 清除 AddURL 中的 URL 列表。
      End Function
   ]]>
   </script>
</registration>

命令行接口

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

從命令提示符創(chuàng)建類型庫

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

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

類型庫疑難解答

生成類型庫的過程可能因為各種原因而失敗。所得到的錯誤信息可能不足以在所有情形下都能確定問題的所在。如果不能生成類型庫,請查看下面可能導(dǎo)致失敗的原因清單。

請參閱

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