Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Microsoft Agent не рекомендуется использовать в Windows 7 и может быть недоступно в последующих версиях Windows.]
Сервер обрабатывает некоторые методы асинхронно. Это позволяет продолжить код приложения во время завершения метода. Когда клиентское приложение вызывает один из этих методов, элемент управления создает и возвращает объект request для запроса. Для отслеживания состояния метода можно использовать объект запроса, назначив переменную объекта методу. В Visual Basic сначала объявите переменную объекта:
Dim MyRequest as Object
В VBScript тип переменной не включается в объявление:
Dim MyRequest
И используйте инструкцию Set Visual Basic, чтобы назначить переменную вызову метода:
Set MyRequest = <i>agent</i>.Characters("<i>CharacterID</i>").<i>method</i> (<i>parameter</i>[s])
Это добавляет ссылку на объект Request. Объект запроса будет уничтожен, если к нему больше нет ссылок. Место, где вы объявляете объект запроса , и то, как вы его используете, определяет время его существования. Если объект объявлен локальным в подпрограмме или функции, он будет уничтожен при выходе из области видимости; т. е. при завершении подпрограммы или функции. Если объект объявлен глобально, он не будет уничтожен до тех пор, пока программа не завершит работу или новое значение (или значение, заданное как пустое), не будет назначено объекту.
Объектзапросапредоставляет несколько свойств, которые можно запросить. Например, свойство Status возвращает текущее состояние запроса. Это свойство можно использовать для проверки состояния запроса:
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
Свойство Status возвращает состояние объекта Request в виде целочисленного значения long.
| Статус | Определение |
|---|---|
| 0 | Запрос успешно завершен. |
| 1 | Сбой запроса. |
| 2 | Запрос ожидает выполнения (находится в очереди, но не завершен). |
| 3 | Запрос прерван. |
| 4 | Выполняется запрос. |
Объектзапросатакже содержит целочисленное значение long в свойстве Number, которое возвращает ошибку или причину кода состояния. Если нет, это значение равно нулю (0). Свойство Description содержит строковое значение, соответствующее номеру ошибки. Если строка не существует, Описание содержит "Определяемая приложением или объектная ошибка".
Значения и значения, возвращаемые свойствомnumber, см. в разделе Коды ошибок.
Сервер помещает запросы анимации в очередь указанного персонажа. Это позволяет серверу воспроизводить анимацию в отдельном потоке, а код приложения может продолжаться во время воспроизведения анимаций. Когда вы создаёте ссылку на объект запроса , сервер автоматически уведомляет вас о начале или завершении запроса анимации через события RequestStart и RequestComplete. Так как методы, возвращающие объекты запроса Request, являются асинхронными и могут не завершиться в рамках области действия вызывающей функции, глобально объявите ссылку на объект Request.
Для возврата объекта запроса можно использовать следующие методы: GestureAt, Получить, Скрыть, Прерывание, Загрузить, Переместить к, Воспроизвести, Показать, Говорить, и Ожидать.