Delen via


Het aanvraagobject

[Microsoft Agent is afgeschaft vanaf Windows 7 en is mogelijk niet beschikbaar in volgende versies van Windows.]

De server verwerkt asynchroon enkele methoden. Hierdoor kan uw toepassingscode worden voortgezet terwijl de methode wordt voltooid. Wanneer een clienttoepassing een van deze methoden aanroept, maakt en retourneert het besturingselement een Request-object voor de aanvraag. U kunt het Request-object gebruiken om de status van de methode bij te houden door een objectvariabele toe te wijzen aan de methode. Declareer in Visual Basic eerst een objectvariabele:

   Dim MyRequest as Object

In VBScript neemt u het variabeletype niet op in uw declaratie:

   Dim MyRequest

En gebruik de set-instructie van Visual Basic om de variabele toe te wijzen aan de methode-aanroep:

   Set MyRequest = <i>agent</i>.Characters("<i>CharacterID</i>").<i>method</i> (<i>parameter</i>[s])

Hiermee voegt u een verwijzing toe naar het Aanvraag--object. Het Request-object wordt vernietigd wanneer er geen verwijzingen meer naar zijn. Waar u het Request-object declareert en hoe u dit gebruikt, bepaalt de levensduur. Als het object lokaal wordt gedeclareerd voor een subroutine of functie, wordt het vernietigd wanneer het buiten het bereik komt; dat wil gezegd, wanneer de subroutine of functie eindigt. Als het object globaal wordt gedeclareerd, wordt het pas vernietigd als het programma wordt beƫindigd of een nieuwe waarde (of een waarde die is ingesteld op 'leeg') aan het object is toegewezen.

Het object Request biedt verschillende eigenschappen die u kunt opvragen. De eigenschap Status retourneert bijvoorbeeld de huidige status van de aanvraag. U kunt deze eigenschap gebruiken om de status van uw aanvraag te controleren:

   Dim MyRequest
   
   Set MyRequest = Agent1.Characters.Load ("Genie", "https://agent.microsoft.com/characters/v2/genie/genie.acf")

   If (MyRequest.Status = 2) then
      'do something

   Else If (MyRequest.Status = 0) then
      'do something right away

   End If

De eigenschap Status retourneert de status van een Request-object als een waarde voor een lang geheel getal.

Status Definitie
0 De aanvraag is voltooid.
1 Aanvraag is mislukt.
2 Aanvraag in behandeling (in de wachtrij, maar niet voltooid).
3 Aanvraag is onderbroken.
4 Aanvraag wordt uitgevoerd.

 

Het object Request bevat ook een lange geheel getalwaarde in de eigenschap Number die de fout of oorzaak van de Status-code retourneert. Als er geen is, is deze waarde nul (0). De eigenschap Description bevat een tekenreekswaarde die overeenkomt met het foutnummer. Als de tekenreeks niet bestaat, bevat Beschrijving de tekst "Toepassingsgedefinieerde of objectgedefinieerde fout".

Zie foutcodesvoor de waarden en betekenis die worden geretourneerd door de eigenschap Number .

De server plaatst animatieaanvragen in de wachtrij van het opgegeven teken. Hierdoor kan de server de animatie afspelen op een afzonderlijke thread en kan de code van uw toepassing worden voortgezet terwijl animaties worden afgespeeld. Als u een Aanvraag objectreferentie maakt, krijgt de server automatisch een bericht wanneer een animatieaanvraag is gestart of voltooid via de RequestStart en RequestComplete gebeurtenissen. Omdat methoden die Request-objecten retourneren asynchroon zijn en mogelijk niet worden voltooid tijdens het bereik van de aanroepende functie, declareert u de verwijzing naar het Request-object globaal.

De volgende methoden kunnen worden gebruikt om een Request-object te retourneren: GestureAt, Get, Hide, Interrupt, Load, MoveTo, Play, Show, Speak, en Wacht.