actionscript エラーアーカイブス サンプル
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