RequestStart イベント
[Microsoft Agent は Windows 7 の時点で非推奨となり、後続のバージョンの Windows では使用できない可能性があります。]
-
説明
-
サーバーがキューに入れられた要求を開始するときに発生します。
-
構文
-
Sub agent**_RequestStart** (ByVal Request**)**
部分 説明 Request Request オブジェクトを返します。
解説
イベントは Request オブジェクトを返します。 リクエストは非同期的に処理されるため、このイベントを使用して、サーバーがリクエストの処理を開始するタイミング (Get、 Play、 Speak メソッドなど) を決定し、アプリケーションによって生成される他のアクションと同期させることができます。 イベントは、 Request オブジェクトへの参照を作成したクライアントにのみ、また、リクエスト参照のグローバル変数を定義した場合にのみ送信されます。
Dim MyRequest
Dim Genie
Sub window_Onload
Agent1.Characters.Load "Genie", _
"https://agent.microsoft.com/characters/v2/genie/genie.acf"
Set Genie = Agent1.Characters("Genie")
' This syntax will generate RequestStart and RequestComplete events.
Set MyRequest = Genie.Get("state", "Showing")
' This syntax will not generate RequestStart and RequestComplete events.
Genie.Get ("state", "Hiding")
End Sub
Sub Agent1_RequestStart(ByVal Request)
If Request = MyRequest Then
Status = "Loading the Showing animation"
End Sub
返された Request オブジェクトに対して、 Status は 4 (リクエスト進行中) を返します。
アニメーション Request オブジェクトはサーバーがリクエストを処理するまで割り当てられないため、評価する前に Request オブジェクトが存在することを確認してください。 たとえば、Visual Basic で条件を使用して特定の要求が完了したかどうかをテストする場合は、 Nothing キーワードを使用できます。
Sub Agent1_RequestStart (ByVal Request)
If Not (MyRequest Is Nothing) Then
If Request = MyRequest Then
'-- Do whatever
End If
End If
End Sub
Note
VBScript 1.0 では、 Request オブジェクトへの参照を定義していない場合でも、このイベントが発生します。 これは VBScript 2.0 で修正されました。
参照