Partilhar via


O objeto Pedido

[O Microsoft Agent foi preterido a partir do Windows 7 e pode não estar disponível em versões subsequentes do Windows.]

O servidor processa alguns métodos de forma assíncrona. Isso permite que o código do aplicativo continue enquanto o método estiver sendo concluído. Quando um aplicativo cliente chama um desses métodos, o controle cria e retorna um objeto Request para a solicitação. Você pode usar o objeto Request para controlar o status do método atribuindo uma variável de objeto ao método. No Visual Basic, primeiro declare uma variável de objeto:

   Dim MyRequest as Object

No VBScript, você não inclui o tipo de variável em sua declaração:

   Dim MyRequest

E use a instrução set do Visual Basic para atribuir a variável à chamada de método:

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

Isso adiciona uma referência ao objeto Request. O objeto Request será destruído quando não houver mais referências a ele. Onde declara o objecto de solicitação e como o utiliza determina a sua duração. Se o objeto for declarado localmente em uma sub-rotina ou função, ele será destruído quando sair do escopo; ou seja, quando a sub-rotina ou função terminar. Se o objeto for declarado globalmente, ele não será destruído até que o programa termine ou um novo valor (ou um valor definido como "vazio") seja atribuído ao objeto.

O objeto Request fornece várias propriedades que você pode consultar. Por exemplo, a propriedade Status retorna o status atual da solicitação. Pode utilizar esta propriedade para verificar o estado do seu pedido:

   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

A propriedade Status retorna o estado de um objeto Request como um valor inteiro longo.

Situação Definição
0 Pedido concluído com sucesso.
1 Falha na solicitação.
2 Solicitação pendente (na fila, mas não concluída).
3 Pedido interrompido.
4 Pedido em curso.

 

O objeto Request também inclui um valor inteiro longo na propriedade Number, que retorna o erro ou a causa do código de status . Se nenhum, este valor é zero (0). A propriedade Description contém um valor de cadeia de caracteres que corresponde ao número do erro. Se a cadeia de caracteres não existir, Descrição conterá "Erro definido pelo aplicativo ou pelo objeto".

Para obter os valores e o significado retornados pela propriedade Number, consulte Error Codes.

O servidor coloca solicitações de animação na fila do personagem especificado. Isso permite que o servidor reproduza a animação em um thread separado e o código do seu aplicativo pode continuar enquanto as animações são reproduzidas. Se criar uma referência de objeto Request, o servidor notificá-lo-á automaticamente quando um pedido de animação tiver sido iniciado ou concluído através dos eventos RequestStart e RequestComplete . Como os métodos que retornam objetos Request são assíncronos e podem não ser concluídos durante o escopo da função de chamada, declare globalmente sua referência ao objeto Request .

Os seguintes métodos podem ser usados para retornar um objeto Request: GestureAt, Get, Hide, Interrupt, Load, MoveTo, Play, Show, Speak, e Wait.