Vous avez des modules qui ont besoin de l’url d’appel de votre html ou swf pour charger des fichiers, mais entre votre site local, et online, l’url n’est pas la même. Plutôt que de vous embêter à changer dans un fichier de configuration et de devoir recompiler avant d’envoyer sur votre platforme online, voici un petit bout de code permettant de détecter l’url de votre application.
var splittedUrl:Array = Application.application.url.split('/');
var endIndex:int = 0;
// Calcule l'index du début du fichier .html or .swf que l'on vient de lancer
for(var j:int = 0; j < splittedUrl.length-1; j++) {
endIndex += splittedUrl[j].length+1;
}
// Extraction du fichier .html ou .swf de la fin de l'url
var urlSwf:String = Application.application.url.substring(0, endIndex);
Il vous suffit ensuite d’utiliser « urlSwf » devant tous les chemins. Par exemple : <mx:Image source= »{urlSwf}datas/monImage.jpg » />
Articles sur le même sujet :

Sinon le fichier de configuration peut etre externe à l’application flex, et chargé au demarrage. Ainsi nul besoin de recompiler quoique ce soit.
De plus si on utilise Ant pour construire son application, on peut lui demander de s’occuper des valeurs de ce fichier suivant l’environnement de deployment.
Effectivement, il est possible de mettre un fichier externe, mais cela oblige à changer le fichier dès que l’on veut changer le module/application de répertoire
Pour ce qui est de Ant, cela implique d’avoir une version compilée pour le local, et une pour le online ?
Et bien non, si tu externalises tous tes parametres en externe tu n’as plus besoin de recompiler l’application flex suivant l’environnement de production.
Du plus tu peux tres bien demander à ant de s’occuper de la compilation grace à ça : http://labs.adobe.com/wiki/index.php/Flex_Ant_Tasks
Enfin quoiqu’il en soit j’ai pris l’habitude d’avoir tous mes parametres en externe. Tu peux jeter un oeil à ça :
http://www.tamina-online.com/damo/index.php?2007/11/09/20–as3-initmanager
Très intéressant ton article