Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: Transmission de variables via fscommand et exec
Envoyé: 21 juin 2004, 10h54 par Oznog
Tu débute avec un gros problème.
Pourquoi tout ce trouble dit moi, pourquoi ne pas tout mettre ton "player.exe" dans le "appli.exe" ? Il n'y a aucune raison pour ne pas faire ton "loadMovie" dedans puisqu'il est vide ?
Sinon, la seule façon de passer un paramètre (ton bouton) était :
fscommand("exec","player.exe" & Chr(9) & "1") Malheureusement Flash ne semble plus l'accepter!! Dès qu'on ajoute un espace (obligatoire pour passer des paramètres) Flash ne fonctionne plus. D'après moi Macromedia a simplement retirer cette fonctionnalité pour éviter des problème de sécurité. Au même titre que Macromédia limite le exec uniquement dans le répertoire "fscommand". C'était trop puissant et troup vulnérable côté sécurité.
NOTE : Le Chr(9) c'est une espace. C'est que tu change d'environnement. Tu n'est plus sur un serveur Web mais sous le système d'exploitation. Il n'y a plus d'en-tête ou de requête HTTP qui tiennent. Donc les flash.swf?maVar=1&maVar2=2 ça ne fonctionne pas.
ÇA REVIENT DONC À PASSER UN PARAMÈTRE À UNE APPLICATION. Exactement comme si tu voulais passer un paramètre en ouvrant Word par exemple (bien sûr en passant par le "Dos Shell").
Note aussi que Macromedia n'a pas penssé à ça car le fscommand est une astuce LIMITÉ, une patch pour permettre à Flash d'exécuter une application externe. Car Flash a un grand nombre de fonctionnalité pour charger un autre Flash sans devoir passer pas fscommand. Je répète qu'il n'y a aucune raison que le manque de connaissance mais surtout la parresse (Ça peut être long intégrer ça j'en convient...).
Ensuite, reste à savoir comment récupérer le paramètre. J'en ai aucune idée mais tu peux le découvrir en affichant toutes les variable du _root.
En résumé :
1. Change de méthode.
2. Sinon, touve comment passer le paramètre d'une autre façon que fscommand("exec","player.exe" & Chr(9) & "1") puisque ça ne semble plus supporté!
3. Trouve comment récupérer les valeurs avec une test comme :
var j;
for (j in _root) {
maVar.htmltext += (j+" : "+this[j]+"<br>");
}
Note que tu dois avoir sur la scène la variable "maVar" de type HTML.
Ciao
Oznog
Réponses
|