多かれ少なかれ、a) 相対パスの解決策、または b) アセットをロードする別の方法に関する洞察を探して、誰かがここで助けてくれることを願っています。
SDK 4.1 を使用するスタンドアロンの Web アプリケーションがあり、その相対アセット フォルダーを参照して、すべての画像と外部 SWFS をロードします。
サーバーでは、これはアセット ディレクトリの絶対パスです。
/ApplicationRoot/versionFldr/controls/assets/*
アプリケーションは、アセットをロードするすべてのケースで相対パスを使用します。これは、アプリのバージョンが進むにつれて、継続的に追加および更新されます。
したがって、本質的に、アプリは次のものを探しています。
assets/*
次に、新しいアプリケーションに進みます。それを「ParentApp」と呼び、上記のアプリケーションを「ChildApp」と呼びましょう。
親アプリは ChildApp とは別のサーバー ディレクトリにあります
/ParentApp/version/controls/ParentApp.swf
/ChildApp/version/controls/ChildApp.swf
現在、ChildApp が ParentApp に読み込まれると、それが常に存在していたのと同じディレクトリにあると想定されます。
/ParentApp/version/controls/assets/* != /ChildApp/version/controls/assets/*
ChildApp が ParentApp の子である場合は、読み込まれたすべてのアセットの絶対パスを参照し、スタンドアロンの場合はそれ自体に対する相対パスを参照するソリューションを見つける必要があります。
私が持っている注意点は、画像がさまざまなコントロール、キャッシュ、さらには mx:Text フィールド (タグ付きの HTML テキスト) に読み込まれることです。アプリケーション全体のすべてのパス リンクをグローバルに置き換えたり、アプリの新しいアセットが作成されたときに新しいコーディング手順を作成したりする必要がないようにしています。ChildApp は実稼働中であり、4.1 SDK にとどまる必要があります。
ParentApp は新しく、柔軟性が大幅に向上しています。
childApp で -source-path および -library-path コンパイラ オプションを試しましたが、これによりコンパイル エラーが発生し、続行できませんでした。
洞察と助けを事前にありがとう!-AJ