DisconnectObject メソッド

オブジェクトのイベント ソースへの接続を解除します。

object.DisconnectObject(obj)

引数

object
WScript オブジェクトです。
obj
接続を解除するオブジェクトの名前です。

解説

オブジェクトが "接続解除" されると、WSH はそのオブジェクトのイベントに応答しなくなります。ただし、そのオブジェクトは引き続きイベントを発行することはできます。指定されたオブジェクトが接続されていない場合は DisconnectObject メソッドを呼び出しても何も実行されないことに注意してください。

使用例

次のコードは DisconnectObject メソッドを使用してリモート スクリプトの完了後に WshRemote オブジェクトのエラーイベントに接続する例です。

[VBScript]
Dim Controller, RemoteScript
Set Controller = WScript.CreateObject("WSHController")
Set RemoteScript = Controller.CreateScript("test.js", "remoteserver")
WScript.ConnectObject RemoteScript, "remote_"
RemoteScript.Execute

Do While RemoteScript.Status <> 2 
    WScript.Sleep 100
Loop

WScript.DisconnectObject RemoteScript

Sub remote_Error
    Dim theError
    Set theError = RemoteScript.Error
    WScript.Echo "Error " & theError.Number & " - Line: " & theError.Line & ", Char: " & theError.Character & vbCrLf & "Description: " & theError.Description
    WScript.Quit -1
End Sub
[JScript]
var Controller = WScript.CreateObject("WSHController");
var RemoteScript = Controller.CreateScript("test.js", "remoteserver");
WScript.ConnectObject(RemoteScript, "remote_");
RemoteScript.Execute();

while (RemoteScript.Status != 2) {
    WScript.Sleep(100);
}

WScript.DisconnectObject(RemoteScript)

function remote_Error()
{
    var theError = RemoteScript.Error;
    WScript.Echo("Error " + theError.Number + " - Line: " + theError.Line + ", Char: " + theError.Character + "\nDescription: " + theError.Description);
    WScript.Quit(-1);
}