Domanda

Ho un'applicazione di parti che si basa su Flex 3 e ho un problema con l'elenco delle parti. L'elenco delle parti utilizza due oggetti:

  • Parte
  • ArrayOfPart

Cache l'elenco delle parti localmente in un oggetto condiviso. Funziona benissimo da un paio di mesi . Ho aggiunto una nuova proprietà booleana alla classe Part e reimportato i servizi Web (che non avrebbero dovuto influire su nulla) e ora posso salvare bene ArrayOfPart SharedObject, ma quando provo a recuperare SharedObject, ottengo " ArgumentError: Errore n. 1063: mancata corrispondenza del conteggio degli argomenti su ArrayOfPart. Previsto 1, ottenuto 0. E poi ELIMINA il mio file SOL completamente.

(ho usato RegisterClass su Part e ArrayOfPart, quindi entrambi sono serializzabili su SharedObjects)

Ecco i passaggi che ho seguito per ottenere l'errore:

Salva l'oggetto condiviso:

so = SharedObject.getLocal("PartsList");
so.data.AllParts = AllParts;
so.flush();

Verifica l'oggetto condiviso:

  • SharedObject PartsList.sol esiste dove dovrebbe
  • Ho aperto il file SharedObject e i dati di ArrayOfPart sembrano validi

Riavvia l'applicazione e recupera l'elenco delle parti da SharedObject. Questa è la riga che genera l'errore n. 1063 e causa l'eliminazione del file sol:

so = SharedObject.getLocal("PartsList");

Sembra che i dati potrebbero non essere ben formati quando vengono salvati in SharedObject? È possibile?

È stato utile?

Soluzione

Ho risolto il mio problema.

ArrayOfPart aveva un costruttore con un parametro. Quando ho rimosso il costruttore, l'errore è scomparso.

A proposito, questo era Flash 9.

Altri suggerimenti

Sembra difficile.

Non credo sia un problema di formazione o serializzazione. Forse qualcos'altro nel tuo codice sta scrivendo sull'oggetto condiviso?

C'è un modo per condividere la tua fonte? Ciò sarebbe d'aiuto poiché personalmente non ho abbastanza informazioni per diagnosticare cosa sta succedendo senza vedere il resto del codice :(

Anche ....

C'è qualcos'altro che sta scrivendo o modificando questo oggetto condiviso?

Tutti i miei oggetti sono creati in AS3 o alcuni in MXML (ho notato che il compilatore Flex non sempre fa un buon lavoro per capire MXML).

Quale versione di Flash ho?

Se il suo Flash 10 si verifica lo stesso problema in Flash 9?

Questo succede in tutti i browser e su tutte le piattaforme?

Solo un sospetto, ma da quando ho installato Flash Player 10, durante la navigazione vedo molti errori con gli oggetti condivisi. Potrebbe essere correlato a restrizioni sandbox / sicurezza di recente introduzione?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top