Dela via


Inläsningsmetod

[Microsoft Agent är inaktuell från och med Windows 7 och kan vara otillgänglig i efterföljande versioner av Windows.]

Beskrivning

Läser in ett tecken i samlingen Tecken.

syntax

agent**. Characters.Load "CharacterID",** Provider

Del Beskrivning
CharacterID Krävs. Ett strängvärde som du använder för att referera till teckendata som ska läsas in.
Provider Krävs. En variantdatatyp som måste vara något av följande: Filespec Den lokala filplatsen för det angivna tecknets definitionsfil.
URL HTTP-adressen för tecknets definitionsfil.

Anmärkningar

Du kan läsa in tecken från underkatalogen Agent genom att ange en relativ sökväg (en som inte innehåller ett kolon eller inledande snedstreck). Detta prefixar sökvägen med agentens teckenkatalog (finns i den lokaliserade Katalogen Windows\msagent). Om du till exempel anger följande läser du in Genie.acs från agentens Chars-katalog:

   Agent.Character.Load "genie", "genie.acs"

Du kan också ange en egen katalog i agentens chars-katalog.

   Agent.Character.Load "genie", "MyCharacters\genie.acs"

Du kan läsa in det tecken som för närvarande anges som den aktuella användarens standardtecken genom att inte inkludera en sökväg som den andra parametern för metoden Load.

   Agent.Character.Load "character"

Du kan inte läsa in samma tecken (ett tecken med samma GUID) mer än en gång från en enda instans av kontrollen. På samma sätt kan du inte läsa in standardtecknet och andra tecken samtidigt från en enda instans av kontrollen eftersom standardtecknet kan vara detsamma som det andra tecknet. Om du försöker göra detta genererar servern ett fel. Du kan dock skapa en annan instans av agentkontrollen och läsa in samma tecken.

Microsoft Agent Data Provider stöder inläsning av teckendata som lagras antingen som en enda strukturerad fil (. ACS) med teckendata och animeringsdata tillsammans eller som separata teckendata (. ACF) och animering (. ACA)-filer. Använd den enda strukturerade . ACS-fil för att läsa in ett tecken som lagras på en lokal disk eller ett nätverk och som används med hjälp av ett konventionellt filprotokoll (till exempel UNC-sökvägar). Använd den separata . ACF och . ACA-filer när du vill läsa in animeringsfilerna individuellt från en fjärrplats där de nås med hjälp av HTTP-protokollet.

För. ACS-filer med hjälp av metoden Load ger åtkomst till ett teckens animeringar. För. ACF-filer använder du också metoden Get för att läsa in animeringsdata. Metoden Load stöder inte nedladdning. ACS-filer från en HTTP-webbplats.

Om du läser in ett tecken visas inte tecknet automatiskt. Använd metoden Visa först för att göra tecknet synligt.

Om du använder metoden Load för att läsa in en teckenfil som lagras på den lokala datorn och anropet misslyckas. Eftersom filen till exempel inte hittas genererar agenten ett fel. Du kan använda stödet på programmeringsspråket för att tillhandahålla en felhanteringsrutin för att fånga upp och bearbeta felet.

   Sub Form_Load
      On Error GoTo ErrorHandler
      Agent1.Characters.Load "mychar", "genie.acs"
      ' Successful load
      . . .
      Exit Sub
      ErrorHandler:
      ' Unsuccessful load
      . . .
      Resume Next
   End Sub

Du kan också hantera felet genom att ange RaiseRequestErrors till False, deklarera ett objekt och tilldela Load begäran till det. Följ sedan anropet Load med en instruktion som kontrollerar statusen för objektet Request.

Dim LoadRequest as Object

   Sub Form_Load
      Agent1.RaiseRequestErrors = False
      Set LoadRequest = Agent1.Characters.Load _
         ("mychar", "c:\some directory\some character.acs")
      If LoadRequest.Status Not 0 Then
         ' Unsuccessful load
         . . .
         Exit Sub
      Else 
         ' Successful load
         . . .
   End Sub

Om du läser in ett tecken som inte är lokalt; Om du till exempel använder HTTP-protokoll kan du också söka efter ett inläsningsfel genom att tilldela ett request-objekt till metoden Load. Men eftersom den här metoden för att läsa in ett tecken hanteras asynkront kontrollerar du dess status i händelsen RequestComplete. Den här tekniken fungerar inte med att läsa in ett tecken med UNC-protokollet eftersom metoden Load bearbetas synkront.