フラッシュエラー#1034:Flashで実行すると、タイプ強制が失敗しました
-
10-10-2019 - |
質問
SWCをまとめて、FlashDevelopプロジェクトで使用しています。
プロジェクトをコンパイルするときはすべて問題ありませんが、プロジェクトを実行/デバッグすると、取得できます。
[Fault] exception, information=TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@43e3f99 to fl.controls.Button.
次の行が障害を引き起こしています:
public var loginPanel:loginControl = new loginControl();
logincontrolviewはMovieclip名です。 LoginControlViewは資産名です。そして、LoginControlViewを拡張するLoginControlというクラスがあります
LoginControlView Movieclipには、2つのテキストボックスとボタン(fl.Controls)が含まれています
Flash IDEからコンパイル/実行/デバッグすると、プロジェクトは正常に実行されます。
助言がありますか?
解決
わかりました、私は解決策を見つけました。私のクラスパスには、フラッシュインストールのfl.controlsフォルダーへのパスが含まれていました。しかし、私のSWCでエクスポートされるfl.controls。同じクラスの2つの定義が問題を引き起こしていたと思います。なぜなら、クラスパスを削除すると、すべて正常に機能したからです。
他のヒント
おそらくご存知のように、Fl.ControlsパッケージにはフラッシュプロフェッショナルCS5以前のコンポーネントが含まれています。 できる Flashで使用して、A.SWCのコンポーネントをバンドルすることで開発します。 fl.controls。* flashDevelopのAdobeコントロールを使用するにはどうすればよいですか?
プロジェクトはエラーなしでフラッシュプロフェッショナルにコンパイルされるため、問題はエクスポートされたfl.controls。* .swc内にある必要があります。
fl.contros。* .swcを使用する代わりに、フラッシュ開発を使用しているため、 Spark.Controlsパッケージ また Mx.Controlsパッケージ Flex 4.1 SDKから。両方のパッケージには、ボタンとテキストインプットクラスが含まれます。