Flex SDK で開発中に、ローカルにある画像ファイルを読み込もうとした際に発生したエラー。

SecurityError: Error #2148: SWF ファイル file:///C:/flex2work/PlaneWorld.swf はローカルリソース file:///C:/flex2work/plainworld.jpg にアクセスできません。ローカルファイルシステムの SWF および信頼されているローカル SWF ファイルのみがローカルリソースにアクセスできます。

SWFが信頼されていないので、信頼する。そのための設定が必要。

Adobe 公式サイトから探した情報。

信頼できるローカルSWFの設定方法

(中略)

コンテンツの製作者は、信頼できる SWF ファイル、もしくは信頼できるファイルを含むディレクトリを登録するための .cfg ファイルを作り、それを適切な場所に配置するインストーラを提供することができます。.cfg ファイルは、パス名やファイル名が記述されただけの単純なテキストファイルです。

Adobe - デベロッパーセンター : Flash Player 8 のローカルファイルセキュリティ

Windows XP では C:\WINDOWS\system32\Macromed\Flash に FlashPlayerTrust ディレクトリを作成して hoge.cfg ファイルを作成することでOK.
C:\Documents and Settings\hogeuser\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust に FlashPlayerTrust ディレクトリを作成して hoge.cfg ファイルを作成しても良し。

hoge.cfg ファイルは許可するSWFのあるディレクトリのパスを記述したテキストファイル。
今回は C:\flex2work という一行のみ書いたファイルを作った。

Ref. フォーラム - Flex User Group - ActionScript 3.0 - ローカルのXMLにアクセス

tags: zlashdot Flash Flash Flex

Posted by NI-Lab. (@nilab)