0

次のエラーが表示されます。

VerifyError: Error #1053: Illegal override of addEventListener in    
some.path.to.my.CustomObject

これは通常、バージョンが異なる場合に swf/swc をロードしようとしたときに発生しますが、通常は .NET のようなフラッシュ メソッドではなく、カスタム ライブラリを使用していaddEventListenerます。私のライブラリは同じ AIR SDK 3.8 リビジョンで、トップレベルのアプリケーションも同じバージョンです。私はもともと 3.4 を使用していましたが、役立つかもしれないと考えて 3.8 にアップグレードしましたが、そうではありませんでした。また、Flash Player を 11.8 に更新しましたが、違いはありません。

CustomObjectそれが不平を言っているのは、そのクラスまたは基本クラスにオーバーライドがありませんaddEventListener。基本クラスもカスタムであり、フラッシュ クラスから派生したものではありません。Flash Builder 4.7 を使用しています。

コンパイルできず、この問題を解決する方法がわかりません。助けていただければ幸いです。

4

3 に答える 3

1

これが役立つ場合があります。外部 SWF をロードするときに、親 SWF と競合するクラス定義が含まれている可能性があるため、ロードされた子 SWF に別のドメインを使用できます。

var appDomainA:ApplicationDomain = new ApplicationDomain(); 

var contextA:LoaderContext = new LoaderContext(false, appDomainA); 
var loaderA:Loader = new Loader(); 
loaderA.load(new URLRequest("application2.swf"), contextA);//application2.swf is you external swf

このコードと例は、このページのアプリケーション ドメインにあります。

于 2013-09-01T04:05:55.950 に答える
0

これの別の条件が見つかりました-基本クラスで、ゲッターを介して基本クラスのローカル変数にアクセスすると、この問題が発生することがあります。ランダムのようで、常に発生するとは限りません。

だから代わりに

protected var __someVar:int;

public function get someVar():int{
  return __someVar;
}

public function addOneToSomeVar():int{
  return someVar + 1; //using local getter - caused VerifyError #1035
}

行う

protected var __someVar:int;

public function get someVar():int{
  return __someVar;
}

public function addOneToSomeVar():int{
  return __someVar + 1; //using local variable
}

これは常に一貫しているわけではありません。問題なく他のゲッター関数を使用していました。

于 2013-12-01T03:34:15.640 に答える