Partilhar via


Método de carga

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

Descrição

Carrega um caractere na coleçãoCharacters.

Sintaxe

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

Peça Descrição
CharacterID Necessário. Um valor de cadeia de caracteres que você usará para fazer referência aos dados de caracteres a serem carregados.
Provedor Necessário. Um tipo de dados variante que deve ser um dos seguintes: Filespec O local do arquivo de definição do caractere especificado.
URL O endereço HTTP do arquivo de definição do caractere.

Comentários

Você pode carregar caracteres do subdiretório Agent especificando um caminho relativo (que não inclua dois pontos ou caracteres de barra à esquerda). Isso prefixa o caminho com o diretório de caracteres do Agente (localizado no diretório Windows\msagent localizado). Por exemplo, especificar o seguinte carregaria Genie.acs do diretório Chars do agente:

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

Você também pode especificar seu próprio diretório no diretório Chars do Agente.

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

Você pode carregar o caractere atualmente definido como o caractere padrão do usuário atual não incluindo um caminho como o segundo parâmetro do método Load.

   Agent.Character.Load "character"

Você não pode carregar o mesmo caractere (um caractere com o mesmo GUID) mais de uma vez a partir de uma única instância do controle. Da mesma forma, você não pode carregar o caractere padrão e outros caracteres ao mesmo tempo de uma única instância do controle porque o caractere padrão pode ser o mesmo que o outro caractere. Se você tentar fazer isso, o servidor gerará um erro. No entanto, você pode criar outra instância do controle Agent e carregar o mesmo caractere.

O Microsoft Agent Data Provider oferece suporte ao carregamento de dados de caracteres armazenados como um único arquivo estruturado (. ACS) com dados de caracteres e dados de animação juntos ou como dados de caracteres separados (. ACF) e animação (. ACA). Use o único estruturado . ACS para carregar um caractere armazenado em um disco ou rede local e acessado usando um protocolo de arquivo convencional (como nomes de caminhos UNC). Use o arquivo separado . ACF e . ACA quando você deseja carregar os arquivos de animação individualmente de um site remoto onde eles são acessados usando o protocolo HTTP.

Para . Arquivos ACS, usando o método Load fornece acesso às animações de um personagem. Para . ACF, você também usa o método Get para carregar dados de animação. O método Load não suporta o download do . Arquivos ACS de um site HTTP.

Carregar um caractere não exibe automaticamente o caractere. Use o método Show primeiro para tornar o caractere visível.

Se você usar o método Load para carregar um arquivo de caracteres armazenado na máquina local e a chamada falhar; por exemplo, como o arquivo não foi encontrado, o Agent gera um erro. Você pode usar o suporte em sua linguagem de programação para fornecer uma rotina de tratamento de erros para capturar e processar o erro.

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

Você também pode manipular o erro definindo RaiseRequestErrors como False, declarando um objeto e atribuindo a solicitação Load a ele. Em seguida, siga a chamada Load com uma instrução que verifica o status do objeto 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

Se você carregar um caractere que não é local; por exemplo, usando o protocolo HTTP, você também pode verificar se há uma falha de de carregamento de atribuindo um objetoRequestao método Load. No entanto, como esse método de carregamento de um caractere é manipulado de forma assíncrona, verifique seu status no evento RequestComplete. Essa técnica não funcionará carregando um caractere usando o protocolo UNC porque o método Load é processado de forma síncrona.