4

最近、いくつかのコードを Flex プロジェクトから新しいピュア AS3 プロジェクトに移植しました。AMF 呼び出しを実行しようとすると、次のようなエラー メッセージが表示されます。

TypeError: エラー #1034: 型強制に失敗しました: Object@5425371 を mx.messaging.messages.ErrorMessage に変換できません。

エラーに関連するスタック トレースがなかったため、デバッグが困難でした。

あらゆることを試しましたが (flex フレームワークに必要なすべてのライブラリが含まれていることを確認するなど)、何も機能しませんでした。

4

2 に答える 2

7

しばらくして、私は答えを見つけました。Flexは起動時に初期化を行いますが、これがないとAMFクラスは機能しません。幸いなことに、アドビは非フレックスプロジェクトまたはフラッシュからAMFを使用したい人を考え、AMFに必要な初期化を行うための方法を提供しました。

この行をアプリケーションの先頭に追加すると、突然、すべてのAMF呼び出しがFlexプロジェクトと同じように機能しました。

RpcClassAliasInitializer.registerClassAliases();

(ええ、私は自分の質問に答えました。この問題のブログや検索結果が見つからなかったので、問題を共有してここで修正します。)

于 2012-01-25T09:34:36.380 に答える
0

これは応答が少し遅いことは承知していますが、flash.net.registerClassAliasも使用できなかったのでしょうか? RpcClassAliasInitializerは、Flex ライブラリの一部であるmx.utils パッケージの一部のようです。

于 2013-11-11T19:12:47.223 に答える