Load 方法

[Microsoft 代理从 Windows 7 开始已弃用,可能在后续版本的 Windows 中不可用。]

Description

将字符加载到 Characters 集合中。

语法

agent**。Characters.Load “CharacterID”,** 提供程序

组成部分 说明
CharacterID 必需。 一个字符串值,用于引用要加载的字符数据。
提供程序 必需。 必须是下列类型之一的变体数据类型: Filespec 指定字符的定义文件的本地文件位置。
Url 字符的定义文件的 HTTP 地址。

备注

可以通过指定相对路径 (不包含冒号或前导斜杠字符) ,从代理子目录中加载字符。 这会将路径作为前缀,其中代理的字符目录 (位于本地化的 Windows\msagent 目录) 。 例如,指定以下内容将从代理的 Chars 目录加载 Genie.acs:

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

还可以在代理的 Chars 目录中指定自己的目录。

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

通过不包括路径作为 Load 方法的第二个参数,可以加载当前设置为当前用户的默认字符的字符。

   Agent.Character.Load "character"

不能 (具有相同 GUID 的字符多次从控件的单个实例加载同一个字符) 。 同样,不能同时从控件的单个实例加载默认字符和其他字符,因为默认字符可能与其他字符相同。 如果尝试执行此操作,服务器将引发错误。 但是,可以创建代理控件的另一个实例并加载相同的字符。

Microsoft 代理数据提供程序支持加载以单个结构化文件 (存储的字符数据。ACS) 将角色数据和动画数据一起或作为单独的字符数据 (。ACF) 和动画 (。ACA) 文件。 使用单个结构化 。ACS 文件,用于加载存储在本地磁盘或网络上并使用常规文件协议 ((如 UNC 路径名) )访问的字符。 使用单独的 。ACF 和 。如果要从使用 HTTP 协议访问动画文件的远程站点单独加载动画文件,则 ACA 文件。

对于 。ACS 文件使用 Load 方法提供对角色动画的访问权限。 对于 。ACF 文件,还可以使用 Get 方法来加载动画数据。 Load 方法不支持下载 。来自 HTTP 站点的 ACS 文件。

加载字符不会自动显示该字符。 首先使用 Show 方法使字符可见。

如果使用 Load 方法加载存储在本地计算机上的字符文件,并且调用失败;例如,由于找不到该文件,代理会引发错误。 可以使用编程语言中的 支持提供错误处理例程来捕获和处理错误。

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

还可以通过将 RaiseRequestErrors 设置为 False、声明对象并向其分配 Load 请求来处理错误。 然后,使用语句执行 Load 调用,该语句用于检查 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

如果加载非本地字符;例如,使用 HTTP 协议,还可以通过将 Request 对象分配给 Load 方法来检查 Load 失败。 但是,由于这种加载字符的方法是异步处理的,因此在 RequestComplete 事件中检查其状态。 此方法无法使用 UNC 协议加载字符,因为 Load 方法是同步处理的。