RequestComplete-Ereignis
[Microsoft Agent ist ab Version Windows 7 veraltet und möglicherweise in nachfolgenden Versionen von Windows.]
-
Beschreibung
-
Tritt ein, wenn der Server eine Anforderung in der Warteschlange abgeschlossen hat.
-
Syntax
-
Sub-Agent: _ RequestComplete * (ByVal Request).)*
Teil BESCHREIBUNG Anforderung Gibt das Request-Objekt zurück.
Hinweise
Dieses Ereignis gibt ein Request-Objekt zurück. Da Anforderungen asynchron verarbeitet werden, können Sie dieses Ereignis verwenden, um zu bestimmen, wann der Server die Verarbeitung einer Anforderung abgeschlossen hat (z. B. eine Get-, Play-oder Speak-Methode), um dieses Ereignis mit anderen Aktionen zu synchronisieren, die von Ihrer Anwendung generiert werden. Der Server sendet das Ereignis nur an den Client, der den Verweis auf das Request-Objekt erstellt hat, und nur, wenn Sie eine globale Variable für den Anforderungsverweis definiert haben:
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
Da Animationsanforderungsobjekte erst zugewiesen werden, wenn der Server die Anforderung verarbeitet, stellen Sie sicher, dass das Request-Objekt vorhanden ist, bevor Sie versuchen, es zu bewerten. Wenn Sie in Visual Basic z. B. eine Bedingung verwenden, um zu testen, ob eine bestimmte Anforderung abgeschlossen wurde, können Sie das Nothing-Schlüsselwort verwenden:
Sub Agent1_RequestComplete (ByVal Request)
If Not (MyRequest Is Nothing) Then
If Request = MyRequest Then
'-- Do whatever
End If
End If
End Sub
Hinweis
In VBScript 1.0 wird dieses Ereignis auch dann aus, wenn Sie keine Verweise auf ein Request-Objekt definieren. Dies wurde in VBScript 2.0 behoben.