« Flash ActionScript3.0入門ノート | メイン | という名前のメソッドはありません。(その2) »

という名前のメソッドはありません。(その1)

**エラー** /Users/yoshi/Documents/(省略)/NextCardDragDrop.as: 行 49:ClearDataPanel' という名前のメソッドはありません。
 PlayListDataPanel.ClearDataPanel();

さて、このエラーの原因はどこにあると推測できるでしょうか?

まず、このエラーメッセージから、エラーの場所がNextCardDragDrop.asファイルの49行目にあることがわかります。49行目には次のように書いてあるようです。
PlayListDataPanel.ClearDataPanel();
このエラーを解決するためにはNextCardDragDrop.asを開いてClearDataPanelを検索します。確かにこの行が見つかるでしょう。でも、これでは解決しません。
ClearDataPanelメソッドが見つからないのは、PlayListDataPanelクラスまたはPlayListDataPanelインスタンスです。通常の命名規則に従っているならばPlayListDataPanelは大文字から始まっているのでクラス名だと思われます。そこでPlayListDataPanel.asファイルを開いてClearDataPanelメソッドを探してみましょう。
すると次のような原因が見つかるでしょう。
1.本当にClearDataPanelという名前のメソッド(function定義)がない。
2. ClearDataPanelと似たメソッドはあったけど、大文字小文字が間違っているなどのスペルの違いがあった。たぶん、先頭小文字のclearDataPanelと定義してあるはず。

1の場合、捜索が完全ではありません。PlayListDataPanelクラス定義が別のクラスを継承していないかどうか確認する必要があります。継承しているクラスがあるならば、そのクラスを調べる必要があります。

*NextCardDragDrop.asの49行目のPlayListDataPanelがクラス名ではなくインスタンス名ならば、PlayListDataPanelインスタンスを作ったクラスを探す必要があります。こんなことがないように、先頭を大文字にするのはクラス名だけにしておくという命名規則を守りましょう。


投稿者 oshige : 2006年12月 6日 12:56