Salve a tutti,
sto cercando di realizzare una applicazione desktop in flash. Ho necessità di conoscere il percorso esatto di alcuni file e quindi sto provando ad utilizzare flex per otterere appunto il nativePath e passarlo a flash.
Purtroppo visto la mia scarsissima conoscenza di as3 mi trovo ancora a lavorare con as2. Inoltre questa è la prima volta che utilizzo flex e quindi mi trovo abbastanza in difficoltà. Ad ogni modo, dopo un paio di giorni di imprecazioni e tentativi questo è il mio stato dell'arte: un file in flex con questo codice
codice:
import flash.net.LocalConnection;
var sending_lc:LocalConnection = new LocalConnection
private var _refAddFiles:File;
public var percorsoFile:String;
// Called to add file(s) for upload
private function addFiles():void {
_refAddFiles = new File();
_refAddFiles.addEventListener(Event.SELECT,onSelectFile);
_refAddFiles.browse();
}
// Called when a file is selected
private function onSelectFile(event:Event):void {
abctxt.text = _refAddFiles.nativePath;
percorsoFile = _refAddFiles.nativePath;
trace (percorsoFile)
}
public function invia():void {
sending_lc = new LocalConnection
sending_lc.allowDomain("*");
sending_lc.allowInsecureDomain("*");
sending_lc.client=this;
sending_lc.send('_idname', 'ricevi', percorsoFile);
trace (percorsoFile)
}
e ho questi due pulsanti
codice:
Button id="btnAdd" toolTip="Seleziona il file" click="addFiles();" x="86" y="301" label="Seleziona"
Button id="btnInvia" toolTip="Conferma" click="invia();" x="180" y="301" label="Apri"
nel file fla invece ho questo:
codice:
var receiving_lc:LocalConnection = new LocalConnection();
receiving_lc.allowDomain("*")
receiving_lc.connect('_idname');
receiving_lc.ricevi = function(parametro:String) {
trace("ho ricevuto: "+parametro);
percorso.text = parametro;
};
Ho risolto vari errori di connessione e adesso sembra andare tutto ma ovviamente non mi passa la variabile. Inoltre ho fatto una prova praticamente identica fra due fla e il passaggio avviene.
Dove sta l'inghippo quindi?
Grazie a tutti in anticipo