Load メソッド
[Microsoft エージェントは Windows 7 の時点で非推奨となり、以降のバージョンの Windows では使用できない場合があります。]
-
Description
-
Characters コレクションに文字を読み込みます。
-
構文
-
agent**。Characters.Load "CharacterID",** Provider
パーツ Description CharacterID 必須。 読み込む文字データを参照するために使用する文字列値。 プロバイダー 必須。 次のいずれかである必要があるバリアント 型: Filespec 指定した文字の定義ファイルのローカル ファイルの場所。
Url 文字の定義ファイルの HTTP アドレス。
解説
Agent サブディレクトリから文字を読み込むには、相対パス (コロンまたは先頭のスラッシュ文字を含まないパス) を指定します。 これにより、パスにエージェントの文字ディレクトリ (ローカライズされた Windows\msagent ディレクトリにあります) がプレフィックスとして付けられます。 たとえば、次のように指定すると、エージェントの Chars ディレクトリから Genie.acs が読み込まれます。
Agent.Character.Load "genie", "genie.acs"
エージェントの Chars ディレクトリで独自のディレクトリを指定することもできます。
Agent.Character.Load "genie", "MyCharacters\genie.acs"
Load メソッドの 2 番目のパラメーターとしてパスを含めないようにすることで、現在のユーザーの既定の文字として現在設定されている文字を 読み込 むことができます。
Agent.Character.Load "character"
コントロールの 1 つのインスタンスから同じ文字 (同じ GUID を持つ文字) を複数回読み込むことはできません。 同様に、既定の文字は他の文字と同じである可能性があるため、コントロールの 1 つのインスタンスから既定の文字とその他の文字を同時に読み込むことはできません。 これを行おうとすると、サーバーでエラーが発生します。 ただし、エージェント コントロールの別のインスタンスを作成し、同じ文字を読み込むことができます。
Microsoft エージェント データ プロバイダーは、1 つの構造化ファイルとして格納された文字データの読み込みをサポートしています (ACS) は、文字データとアニメーション データを一緒に使用するか、個別の文字データ (.ACF) とアニメーション (.ACA) ファイル。 単一の構造化 を使用します。ローカル ディスクまたはネットワークに格納され、従来のファイル プロトコル (UNC パス名など) を使用してアクセスされる文字を読み込む ACS ファイル。 別の を使用します。ACF と 。HTTP プロトコルを使用してアクセスされるリモート サイトからアニメーション ファイルを個別に読み込む場合は、ACA ファイル。
の場合。 Load メソッドを使用する ACS ファイルは、キャラクターのアニメーションにアクセスできます。 の場合。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 要求を割り当てることで、エラーを処理することもできます。 次に、Request オブジェクトの状態を確認するステートメントを使用して、Load 呼び出しに従います。
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 プロトコルを使用して、Load メソッドに Request オブジェクトを割り当てることで、Load エラーをチェックすることもできます。 ただし、文字を読み込むこのメソッドは非同期的に処理されるため、RequestComplete イベントでその状態をチェックします。 Load メソッドは同期的に処理されるため、この手法は UNC プロトコルを使用して文字を読み込むには機能しません。