• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FLEXプログラミングについて)

FLEXプログラミングでSqliteを使用する際に起こるエラーについて

このQ&Aのポイント
  • FLEX(AIR)のプログラミングでSqliteを使用する際に、引数の数が一致しないエラーが発生することがあります。
  • 具体的には、createTable()関数内の※1と※2で指定している関数の引数の数が一致しない場合にエラーが発生します。
  • このエラーは、voidの関数を指定しているだけであっても、引数の数が一致している必要があるため起こる現象です。

質問者が選んだベストアンサー

  • ベストアンサー
  • an631
  • ベストアンサー率82% (28/34)
回答No.1

私はSQL関係は触った事が無く、かつ開発環境もFLEXでは無いので 参考意見程度にしてください。 エラーを見てみると "onCreate1は引数は0個と指定されているのに1つの引数が渡されました" となっていると思います。 ※2の時、onCreate1が実行されるのは stmt.addEventListener(SQLEvent.RESULT, closure); このイベントリスナーが実行される時だと思います。 私はSQLEventはテストできないので仮にMouseEventに置き換えます。 stage.addEventListener(MouseEvent.CLICK, closure); この際、closureつまりonCreate1にはMouseEventが渡されるので、 function onCreate1(event:MouseEvent):void { } とevent引数を指定します。 これで引数の数が合うのでエラーにはならないかと思います。 ただ、※1の function() :void{Alert.show("テーブルmeiboを作成しました"); } にも引数は指定されていませんが、こちらはエラーになりません。 無名関数は引数を受け取らなくて良いのかなんなのか・・・私はわかりませんでした。 もし、解るようでしたら教えて頂けると助かります。 最終的に私が質問してしますような形とになってしまいましたが、 お役に立てれば幸いです。

bunbon1
質問者

お礼

回答ありがとうございます。 確かにエラーメッセージをよく読めばヒントがつかめる話でしたね・・・。 仰る通り、onCreate1に引数を指定することで動作しました。 function onCreate1(e:Event):void { } >無名関数は引数を受け取らなくて良いのかなんなのか・・・ こちら調べて見たのですが、適切な回答は見つかりませんでした。 ちなみに※1を、 function(e:Event) :void{Alert.show("テーブルmeiboを作成しました"); } としても正常動作しますが、 function(e:Event, e2:Event) :void{Alert.show("テーブルmeiboを作成しました"); } とすると同様に#1063エラーが発生します。 どうやら無名関数の引数の数は暗黙的に指定されているようなのですね。

関連するQ&A

専門家に質問してみよう