次の方法で共有


RequestComplete イベント

[Microsoft Agent は Windows 7 の時点で非推奨となり、後続のバージョンの Windows では使用できない可能性があります。]

説明

サーバーがキューに入れられた要求を完了したときに発生します。

構文

サブ エージェント**_RequestComplete** (ByVal Request**)**

部分 説明
Request Request オブジェクトを返します。

 

解説

このイベントは Request オブジェクトを返します。 リクエストは非同期的に処理されるため、このイベントを使用して、サーバーがリクエストの処理を完了したタイミング (GetPlaySpeak メソッドなど) を判断し、このイベントをアプリケーションによって生成された他のアクションと同期させることができます。 サーバーは、 Request オブジェクトへの参照を作成したクライアントにのみ、また、リクエスト参照のグローバル変数を定義した場合にのみ、イベントを送信します。

   Dim MyRequest 
   Dim Genie 

   Sub window_Onload
   
   Agent1.Characters.Load "Genie","https://agent.microsoft.com/characters/v2/genie/genie.acf"

   Set Genie = Agent.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_RequestComplete(ByVal Request)

   If Request = MyRequest Then
      Status = "Showing animation is now loaded"

   End Sub

アニメーション Request オブジェクトはサーバーがリクエストを処理するまで割り当てられないため、評価する前に Request オブジェクトが存在することを確認してください。 たとえば、Visual Basic で条件を使用して特定の要求が完了したかどうかをテストする場合は、 Nothing キーワードを使用できます。

   Sub Agent1_RequestComplete (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 で修正されました。

 

参照

RequestStart イベント