System クラスの使用

System クラスには、ユーザーのオペレーティングシステムを操作したり、Adobe Flash Player の現在のメモリ使用状況を取得できるメソッドとプロパティが格納されています。System クラスのメソッドとプロパティを使用すると、imeComposition イベントの待ち受け、ユーザーの現行コードページを使用した外部テキストファイルのロードまたは Unicode としてのロードを行うための Flash Player に対する指示、ユーザーのクリップボードの内容の設定も行うことができます。

サブトピック

実行時におけるユーザーのシステムに関するデータの取得
クリップボードへのテキストの保存

実行時におけるユーザーのシステムに関するデータの取得

System.totalMemory プロパティを調べると、Flash Player が現在使用しているメモリの量をバイト単位で判別できます。このプロパティを使用してメモリ使用量を監視すれば、空きメモリの状況の変化に応じてアプリケーションの動作を最適に調整できます。たとえば、特定のビジュアル効果を使用するとメモリ使用量が大幅に増加する場合、状況によってその効果を変化または完全に無効にすることが考えられます。

System.ime プロパティは、現在インストールされている IME (入力メソッドエディタ) への参照です。このプロパティを使用すると、addEventListener() メソッドで imeComposition イベント (flash.events.IMEEvent.IME_COMPOSITION) を待ち受けることができます。

System クラスの 3 番目のプロパティは useCodePage です。useCodePagetrue に設定すると、Flash Player が実行されているオペレーティングシステムの通常のコードページを使用して外部テキストファイルがロードされます。このプロパティを false に設定すると、Flash Player は外部ファイルを Unicode として解釈します。

System.useCodePagetrue に設定すると、Flash Player が実行されているオペレーティングシステムの通常のコードページに属する文字を使用して外部テキストファイルの内容が記述されていないと、テキストは表示されないことに注意してください。たとえば、中国語を含んだ外部テキストファイルをロードする場合、English Windows コードページを使用しているシステム上では文字が表示されません。これは、English Windows コードページには中国語の文字が含まれないためです。

SWF ファイル内で使用される外部テキストファイルをすべてのプラットフォームのユーザーが表示できるようにするには、すべての外部テキストファイルを Unicode で保存し、System.useCodePage をデフォルトの false の設定のままにします。これにより、Flash Player ではテキストが Unicode として解釈されます。

クリップボードへのテキストの保存

System クラスには setClipboard() というメソッドがあります。このメソッドを使用すると、Flash Player から指定したストリングをユーザーのクリップボードの内容として設定できます。セキュリティ上の理由から、Security.getClipboard() メソッドはありません。そのようなメソッドは、悪意あるサイトがユーザーのクリップボードへ最後にコピーされたデータにアクセスすることを許すおそれがあるからです。

次のコードは、セキュリティエラーが発生したときに、ユーザーのクリップボードへエラーメッセージをコピーする方法の例です。このエラーメッセージは、ユーザーがアプリケーションの潜在的なバグを報告する場合に役に立ちます。

private function securityErrorHandler(event:SecurityErrorEvent):void
{
    var errorString:String = "[" + event.type + "] " + event.text;
    trace(errorString);
    System.setClipboard(errorString);
}

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000325.html