RequestComplete 事件

[從 Windows 7 開始,Microsoft Agent 已被取代,而且在後續版本的 Windows 中可能無法使用。]

描述

發生于伺服器完成佇列要求時。

語法

代理程式**_RequestComplete** (ByValRequest**) **

部分 描述
要求 會傳回 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 物件存在。 例如,在 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

注意

在 VBScript 1.0 中,即使您未定義 Request 物件的參考,也會引發此事件。 這已在 VBScript 2.0 中修正。

 

另請參閱

RequestStart 事件