nel mio progetto, consente agli utenti di scattare foto utilizzando la classe FileReference. Carico quindi queste immagini nelle loro proprietà .data, usando la funzione load(). Dopo questo, eseguo alcune manipolazioni locali e le invio al server.Flex: DeepCopy di FileReference
Quello che mi piacerebbe fare, è poter essere in grado di scorrere nuovamente le FileReferenze selezionate, caricarle in proprietà .data, eseguire manipolazioni diverse e inviarle nuovamente al server. So che dovrei essere in grado di farlo da un evento invocato dall'utente, che non è un problema qui.
Il problema è che, una volta caricato FileReference per la prima volta, non riesco a scaricarlo in alcun modo e non riesco a conservare i dati per tutte le immagini nella memoria perché sono enormi.
Quindi immagino ci sia solo una cosa che posso fare, che sta eseguendo un DeepCopy su FileReference ... Quindi ho potuto caricare la prima versione, eliminarla e usare la copia per la seconda 'esecuzione'.
Ho provato a utilizzare ObjectUtil.copy, ma quando accedo ad es. Proprietà .name della copia, non riesce con:
Error #2037: Functions called in incorrect sequence, or earlier call was unsuccessful.
a nome flash.net::FileReference/get()
il frammento di rilevante:
registerClassAlias("FileReference",FileReference);
masterFileList.addItem(FileReference(ObjectUtil.copy(fr_load.fileList[i])));
trace(masterFileList[i].name)
v'è forse vero che sono alcune proprietà protette della classe FileReference che ne impediscono la copia? Se è così, posso aggirare questo in qualche modo? O c'è qualche altra soluzione al mio problema generale?
Apprezzo qualsiasi suggerimento/idea!
L'ho portato su actionscript.org e ho elaborato un po 'di più, ma ancora nessuna speranza. Ad ogni modo ecco il thread: http://www.actionscript.org/forums/showthread.php3?t=227441 – supo
Sto supponendo che questo non può essere fatto, dal momento che ci sono probabilmente alcuni handle nell'oggetto FileReference che non sono accessibili affatto usando ActionScript. Non sarei sorpreso se la classe FileReference non fosse nemmeno implementata in ActionScript. –