0

Flex 3で構築されたパーツアプリケーションがあり、パーツリストに問題があります。パーツリストは2つのオブジェクトを使用します。

  • ArrayOfPart

パーツリストをSharedObjectにローカルにキャッシュします。これは2、3か月間正常に機能しています。新しいブール型プロパティをPartクラスに追加し、Webサービスを再インポートしました(これは何の影響も受けないはずです)。これで、ArrayOfPart SharedObjectを正常に保存できますが、SharedObjectを取得しようとすると、「ArgumentError:エラー#1063:ArrayOfPartでの引数カウントの不一致。1が必要です。0が取得されました。その後、SOLファイルが完全に削除されます。

(PartとArrayOfPartでRegisterClassを使用したので、どちらもSharedObjectsにシリアル化できます)

エラーを取得するために実行した手順は次のとおりです。

共有オブジェクトを保存します。

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

SharedObjectを確認します。

  • SharedObject PartsList.solは、必要な場所に存在します
  • SharedObjectファイルを開きましたが、ArrayOfPartデータは有効に見えます

アプリケーションを再起動すると、SharedObjectからパーツリストが取得されます。これは、エラー#1063をスローし、solファイルを削除する行です。

so = SharedObject.getLocal("PartsList");

SharedObjectに保存したときに、データが整形式ではないようです。これは可能ですか?

4

3 に答える 3

1

I solved my own problem.

The ArrayOfPart had a constructor with a parameter. When I removed the constructor, the error went away.

By the way, this was Flash 9.

于 2009-01-01T20:06:03.187 に答える
0

ちょっとしたことですが、Flash Player 10をインストールしてから、ブラウジング時に共有オブジェクトで多くのエラーが発生します。新しく導入されたサンドボックス/セキュリティ制限に関連している可能性がありますか?

于 2009-01-01T19:58:17.960 に答える
0

これは大変そうです。

編成や連載の問題ではないと思います。コード内の他の何かが共有オブジェクトに書き込んでいる可能性がありますか?

ソースを共有する方法はありますか? 私は個人的に、残りのコードを見ずに何が起こっているのかを診断するのに十分な情報を持っていないので、これは役に立ちます:(

また....

この共有オブジェクトに書き込みまたは変更しているものは他にありますか?

すべてのオブジェクトが AS3 で作成されているか、一部が MXML で作成されているか (Flex コンパイラが常に MXML を正しく理解できるとは限らないことに気付きました)。

使用している Flash のバージョンを教えてください。

Flash 10 の場合、Flash 9 でも同じ問題が発生しますか?

これはすべてのブラウザーおよびすべてのプラットフォームで発生しますか?

于 2009-01-01T19:30:17.237 に答える