Udostępnij za pośrednictwem


Obiekt żądania

[Program Microsoft Agent jest przestarzały w systemie Windows 7 i może być niedostępny w kolejnych wersjach systemu Windows.

Serwer przetwarza niektóre metody asynchronicznie. Dzięki temu kod aplikacji będzie kontynuowany podczas wykonywania metody. Gdy aplikacja kliencka wywołuje jedną z tych metod, kontrolka tworzy i zwraca obiekt Request dla żądania. Możesz użyć obiektu Request, aby śledzić stan metody, przypisując zmienną obiektu do metody . W języku Visual Basic najpierw zadeklaruj zmienną obiektu:

   Dim MyRequest as Object

W języku VBScript nie uwzględniasz typu zmiennej w deklaracji:

   Dim MyRequest

Aby przypisać zmienną do wywołania metody, użyj instrukcji Set języka Visual Basic:

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

Spowoduje to dodanie odwołania do obiektu Request. Obiekt Request zostanie zniszczony, gdy nie będzie żadnych odwołań do niego. Miejsce, w którym deklarujesz obiekt Request, oraz sposób, w jaki go używasz, określają jego okres istnienia. Jeśli obiekt jest zadeklarowany lokalnie w procedurze lub funkcji, zostanie zniszczony, gdy wyjdzie poza zasięg; oznacza to, że gdy kończy się procedura lub funkcja. Jeśli obiekt jest zadeklarowany globalnie, nie zostanie zniszczony, dopóki program nie zakończy działania lub do obiektu zostanie przypisana nowa wartość (lub wartość ustawiona na wartość "pusta").

Obiekt Request zawiera kilka właściwości, które można zbadać. Na przykład właściwość Status zwraca bieżący stan żądania. Za pomocą tej właściwości możesz sprawdzić stan żądania:

   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

Właściwość Status zwraca stan obiektu Request jako wartość długiej liczby całkowitej.

Stan Definicja
0 Żądanie zostało ukończone pomyślnie.
1 Żądanie nie powiodło się.
2 Żądanie oczekuje (w kolejce, ale jeszcze nie zostało ukończone).
3 Żądanie zostało przerwane.
4 Żądanie jest w toku.

 

Obiekt Request zawiera również wartość typu Long integer we właściwości Number, która zwraca błąd lub przyczynę kodu stanu . Jeśli żadna nie istnieje, wartość ta wynosi zero (0). Właściwość Description zawiera wartość ciągu odpowiadającą numerowi błędu. Jeśli ciąg nie istnieje, opis zawiera "błąd zdefiniowany przez aplikację lub obiekt".

Aby uzyskać wartości i znaczenie zwrócone przez właściwość liczby , zobacz Kody błędów.

Serwer umieszcza żądania animacji w kolejce określonej postaci. Dzięki temu serwer może odtwarzać animację w osobnym wątku, a kod aplikacji może być kontynuowany podczas odtwarzania animacji. Jeśli tworzysz odwołanie do obiektu Request, serwer automatycznie powiadamia cię o rozpoczęciu lub zakończeniu żądania animacji za pośrednictwem zdarzeń RequestStart i RequestComplete. Ponieważ metody zwracające obiekty Request są asynchroniczne i mogą nie zostać ukończone w trakcie działania funkcji wywołującej, zadeklaruj odwołanie do obiektu Request jako zmienną globalną.

Następujące metody mogą być użyte do zwrócenia obiektu Request: GestureAt, Get, Ukryj, Przerwij, Ładuj, PrzenieśDo, Odtwórz, Pokaż, Mów, oraz Czekaj.