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

Windows 腳本部件  

在應(yīng)用程序中使用腳本部件

在創(chuàng)建 Windows® 腳本部件后,就可以象任何 COM 部件一樣,通過從宿主應(yīng)用程序調(diào)用來使用該腳本部件。宿主應(yīng)用程序可以是 Microsoft® Visual Basic®、C++、Microsoft® Internet Explorer 或者其他應(yīng)用程序。

注意   為 DHTML Behavior 所編寫的腳本部件與傳統(tǒng)的 COM 對(duì)象的實(shí)例化有所不同。詳細(xì)信息請(qǐng)參閱 Microsoft Site Builder Network (SBN) Web 站點(diǎn)上的“使用 DHTML Behavior”。

根據(jù)宿主應(yīng)用程序、所使用的腳本部件類型,以及部署該腳本部件的位置,在創(chuàng)建腳本部件的實(shí)例時(shí)會(huì)有各種選項(xiàng)。不過,其中最主要的差別是在本地(即與應(yīng)用程序在同一個(gè)計(jì)算機(jī)上)還是遠(yuǎn)程(在別的計(jì)算機(jī)上)創(chuàng)建腳本部件的實(shí)例。

不管是哪種情況,都有一些是需要牢記的。如果創(chuàng)建了腳本部件的實(shí)例,又使用該實(shí)例更改了 .wsc 文件,也不會(huì)更新該部件的這個(gè)實(shí)例。要更新,必須創(chuàng)建該腳本部件的一個(gè)新實(shí)例。

所能使用的所有屬性和方法就是在腳本部件文件的 <public> 元素和腳本中所定義的。如果所用的環(huán)境支持語(yǔ)句完善,例如 Visual Basic,則在生成并使用類型庫(kù)時(shí)將能夠看到腳本部件的屬性和方法。詳細(xì)信息請(qǐng)參閱創(chuàng)建腳本部件類型庫(kù)

如果創(chuàng)建腳本部件的實(shí)例失敗,可能是由于腳本部件文件中的語(yǔ)法或運(yùn)行時(shí)錯(cuò)誤造成的。任何 XML 元素(包括 <registration> 元素)的語(yǔ)法分析錯(cuò)誤都會(huì)導(dǎo)致實(shí)例化操作失敗。在開發(fā)腳本部件文件時(shí),可以按照檢查腳本部件文件中的錯(cuò)誤所描述的,在 <?component?> 處理指令中設(shè)置錯(cuò)誤檢查選項(xiàng)。

提示   為了讓宿主應(yīng)用程序方便地了解腳本部件所說明的 COM 接口,腳本部件運(yùn)行時(shí)程序可以生成一個(gè)類型庫(kù),其中包含了有關(guān)該腳本部件中可用的屬性、方法和事件的信息。詳細(xì)信息請(qǐng)參閱創(chuàng)建腳本部件類型庫(kù)。

創(chuàng)建腳本部件的本地實(shí)例

如果腳本部件與宿主應(yīng)用程序安裝在同一個(gè)計(jì)算機(jī)上,則可以按照注冊(cè)腳本部件所描述的,將腳本部件注冊(cè)為該計(jì)算機(jī)的部件。然后就可以使用宿主應(yīng)用程序的標(biāo)準(zhǔn)方法來創(chuàng)建對(duì)象實(shí)例,如 CreateObject 函數(shù)。例如,假設(shè)已注冊(cè)了一個(gè)程序 ID 為 component.MyComponent 的腳本部件,如果要在 Visual Basic 中創(chuàng)建該腳本部件的一個(gè)實(shí)例,則可以使用下面這條語(yǔ)句:

Set oComponent = CreateObject("Component.MyComponent")
注意   如果宿主應(yīng)用程序是 Visual Basic,并且要處理由腳本部件激活的事件,則必須用一個(gè)包括 WithEvents 關(guān)鍵字的 Dim 語(yǔ)句早期綁定該對(duì)象,如下所示:
Dim WithEvents scMyComponent As MyComponent
Private Sub Command1_Click()
   Set scMyComponent=CreateObject("MyComponent")
End Sub
注意   詳細(xì)信息請(qǐng)參閱在宿主應(yīng)用程序中處理腳本部件的事件。如果不想給腳本部件事件編寫處理程序,則這是不必要的。

在 Web 頁(yè)面上,可以使用 <OBJECT> 標(biāo)記來創(chuàng)建腳本部件的實(shí)例。您必須知道該腳本部件的類 ID,并在 <OBJECT> 標(biāo)記中包括這個(gè)類 ID,如下例所示:

<OBJECT
   ID="oComponent"
   CLASSID="clsid:855c8606-49ba-11d2-a428-00c04f8ec80b">
</OBJECT>

如果腳本部件不是在本地計(jì)算機(jī)上注冊(cè)的,您可以使用該腳本部件的別名來創(chuàng)建其實(shí)例。在諸如 GetObject 的函數(shù)中支持別名。本地計(jì)算機(jī)上必須注冊(cè)有腳本部件運(yùn)行時(shí)程序 Scrobj.dll。

注意   由于安全性方面的原因,Microsoft® Internet Explorer 上的腳本部件不支持 GetObject 函數(shù)。

例如,下面演示了如何調(diào)用 Visual Basic 的 GetObject 函數(shù)來創(chuàng)建未注冊(cè)的腳本部件的實(shí)例:

Set oComponent = GetObject("script:c:\COM\MyComponent.wsc")

如果別名所引用的 .wsc 文件包含多個(gè)腳本部件,可以用散列符號(hào)(#)作為分隔符,在文件名后加上具體的腳本部件的名字來指定要實(shí)例化的腳本部件。下面的代碼將創(chuàng)建一個(gè) ID 為 “math”,包含在 MyComponent.wsc 文件中的腳本部件的實(shí)例:

Set oComponent = GetObject("script:c:\COM\MyComponent.wsc#math")

使用 URL 別名可以創(chuàng)建位于別的計(jì)算機(jī)(如 Web 服務(wù)器)上的腳本部件的實(shí)例。應(yīng)使用完整的 URL (帶 http 協(xié)議) 來表示腳本部件的位置,如下例所示:

Set oComponent = GetObject("script:http://myserver/MyComponent.wsc")

Internet Explorer 5.0 支持使用 DHTML Behavior 語(yǔ)法來創(chuàng)建腳本部件的實(shí)例,該方法與傳統(tǒng)的實(shí)例化對(duì)象的語(yǔ)法有些不同,并且能確保腳本部件不能訪問可能不太安全的系統(tǒng)對(duì)象。相應(yīng)的示例請(qǐng)參閱 Microsoft Site Builder Network (SBN) Web 站點(diǎn)上的使用 DHTML Behavior。

創(chuàng)建腳本部件的遠(yuǎn)程實(shí)例

如果腳本部件的 <registration> 元素的遠(yuǎn)程屬性已設(shè)置為 “true”,則可以使用分布式 COM (DCOM) 從別的計(jì)算機(jī)上遠(yuǎn)程實(shí)例化該腳本部件。

兩個(gè)計(jì)算機(jī)都必須安裝了基本的 DCOM。如果計(jì)算機(jī)使用的下述軟件之一,則已經(jīng)正確配置了 DCOM:

腳本部件本身必須按照下面的要求部署:

在創(chuàng)建遠(yuǎn)程腳本部件的實(shí)例時(shí),在應(yīng)用程序內(nèi)它將象一個(gè)本地對(duì)象一樣工作;您可以正常地調(diào)用其方法以及獲取和設(shè)置其屬性。不過,該遠(yuǎn)程腳本部件的腳本是在遠(yuǎn)程機(jī)器上運(yùn)行的,并訪問該計(jì)算機(jī)的資源(在許可的任何安全性限制之內(nèi))。本地計(jì)算機(jī)上的宿主應(yīng)用程序和遠(yuǎn)程機(jī)器上的腳本部件之間的通信由 DCOM 自動(dòng)處理的,因而是不可見的。

要?jiǎng)?chuàng)建腳本部件的遠(yuǎn)程實(shí)例,可以調(diào)用 CreateObject 方法,并將遠(yuǎn)程計(jì)算機(jī)的名稱作為一個(gè)參數(shù)傳遞給該方法。

注意   使用 CreateObject 來實(shí)例化遠(yuǎn)程腳本部件的能力要求 Visual Basic 6.0 或更新版本,或者 VBScript 5.0 或更新版本。

下面的 Visual Basic 示例演示了如何遠(yuǎn)程實(shí)例化在名為“myserver”的計(jì)算機(jī)上的腳本部件:

Set newS = CreateObject("Component.MyComponent", "myserver")
注意   在首次實(shí)例化一個(gè)遠(yuǎn)程腳本部件時(shí),由于 DCOM 要建立兩個(gè)計(jì)算機(jī)之間的通信,因而可能會(huì)有些延遲。

請(qǐng)參閱

創(chuàng)建注冊(cè)信息 | 創(chuàng)建腳本部件 | 腳本部件是如何運(yùn)作的 | 腳本部件簡(jiǎn)介 | 注冊(cè)腳本部件