actionscript エラーアーカイブス サンプル

2
60 ActionScript Error Archives 01 02 03 04 A ERROR 1000 エラー ID:1000 ★ 種  類 … コンパイルエラー 発生頻度 ★ カテゴリ … 参照 %1 への参照があいまいです。 > Ambiguous reference to %1. 下記のいずれかの原因により、関数の参照が適切に解決されない場合に発生します。 原因 1. setter/getterで違うアクセス制御指定子を指定している。 2. 各名前空間が指定されている複数の関数を、名前空間を指定せずに参照した。 解決法 1. setter/getterには同じアクセス制御指定子を指定する。 2. 名前空間を指定する。 サンプル1 修正前 private var _test:String; public function TestExample():void { test = "s"; } public function get test():String { 原因1 return _test; } internal function set test(value:String):void { _test = value; } 修正後 public function init():void{ set = "テスト"; } public function set test(value:Sprite):void { _line = value; } サンプル2 修正前 private namespace xml; use namespace xml; private namespace rss; use namespace rss; public function TestExample():void { hello(); 原因2 } xml function hello():String { return "hora"; } rss function hello():String { return "foo"; } 修正後 private namespace xml; use namespace xml; private namespace rss; use namespace rss; public function TestExample():void { xml::hello(); } xml function hello():String { return "hora"; } rss function hello():String { return "foo"; } ポイント ネームスペース(名前空間同一変数名やメソッド、クラスなどが同一のクラス使われる場合に、名前重複するの ける目的使われます。名前空間とは、一般的には、名前のものが複数存在しないよ うにけたもののことで、名前空間名:: メソッド(); のように使われます。 原因1 AS3_ch2_3.indd 60 09.8.10 5:36:23 PM

Upload: yusuke-kamo

Post on 16-Jul-2015

1.190 views

Category:

Documents


3 download

TRANSCRIPT

60 ActionScript Error Archives

01

基礎知識

02

コンパイルエラー

03

コンパイラ警告

04

ランタイムエラー

A

AS2からの移行

ERROR1000 エラー ID:1000

★ 種  類 … コンパイルエラー 発生頻度

★ カテゴリ … 参照

%1 への参照があいまいです。

> Ambiguous reference to %1.

下記のいずれかの原因により、関数の参照が適切に解決されない場合に発生します。

主な原因

1. setter/getterで違うアクセス制御指定子を指定している。2. 各名前空間が指定されている複数の関数を、名前空間を指定せずに参照した。

解決法

1. setter/getterには同じアクセス制御指定子を指定する。2. 名前空間を指定する。

サンプル1

修正前private var _test:String;public function TestExample():void { test = "s";}

public function get test():String { 原因 1 return _test; }internal function set test(value:String):void { _test = value;}

修正後public function init():void{ set = "テスト";}public function set test(value:Sprite):void { _line = value;}

サンプル2

修正前private namespace xml;use namespace xml;private namespace rss;use namespace rss;

public function TestExample():void {

hello(); 原因 2}xml function hello():String { return "hora";}rss function hello():String { return "foo";}

修正後private namespace xml;use namespace xml;private namespace rss;use namespace rss;

public function TestExample():void { xml::hello();}xml function hello():String { return "hora";}rss function hello():String { return "foo";}

ポイント ネームスペース(名前空間)同一の変数名やメソッド名、クラス名などが同一のクラス内で使われる場合に、名前が重複するの

を避ける目的で使われます。名前空間とは、一般的には、中に同じ名前のものが複数存在しないよ

うに分けたもののことで、名前空間名 ::メソッド名 ();のように使われます。

原因 1

AS3_ch2_3.indd 60 09.8.10 5:36:23 PM

61Error ID : 1000 ---> 1003

01

基礎知識

02

コンパイルエラー

03

コンパイラ警告

04

ランタイムエラー

A

AS2からの移行

ERROR1003 エラー ID:1003

★ 種  類 … コンパイルエラー 発生頻度

★ カテゴリ … 禁止

名前空間の属性にはアクセス指定子を 使用できません。> Access spec i f ie rs a re not a l lowed wi th namespace at t r ibutes.

名前空間の属性とアクセス制御指定子が同時に指定されている場合に発生します。

主な原因

1. 名前空間が指定されているメソッドやクラスにアクセス制御指定子を使用している。2. アクセス制御指定子の前後に、定義されていない変数名や名前空間が存在する。

解決法

1.名前空間が指定されているメソッドやクラスにはアクセス制御指定子を使用しない。2. 定義されていない変数名や名前空間を削除する。

サンプル1

修正前private namespace testNameSpace;use namespace testNameSpace;

testNameSpace public function hoge():void {}

修正後private namespace testNameSpace;use namespace testNameSpace;

testNameSpace function hoge():void {}

サンプル2

修正前

public a function hello():void {} 原因 2

修正後public function hello():void {}

ポイント アクセス制御指定子(アクセス指定子)アクセス制御指定子とは、クラスやメソッド、プロパティに対して、外部のクラスからアクセスで

きるかどうかを指定するものです。AS3ではpublic、private、protectedそしてinternalを使用する

ことができます。publicはすべての呼び出し元からアクセス可能、privateは定義したクラスからの

みアクセス可能、protectedは定義したクラスとサブクラスからアクセス可能、internalは定義した

クラスのパッケージと同一のパッケージ内からのみアクセス可能です。

原因 1

AS3_ch2_3.indd 61 09.8.10 5:36:23 PM