0

qooxdoo でスタンドアロン アプリケーションを開発しようとしています。PartLoaderでGUIの各パーツをロードしたい。ユーザーがメニューから関連するメニュー項目を選択したときに、大きなグループ ボックスをロードしたいだけです。しかし、コードを実行すると(関連する関数をロードする部分を実行します)、「arguments.callee.base.callは関数ではありません」というエラーが発生しました。Windows XPでFirefox 3.6を使用しています。

これは、Application.js のコードをロードする部分です。

qx.io.PartLoader.require(["part1"], function()
{
        if (!this.__groupbox1)
        {
                this.__groupbox1 = new appname.Classname();
                container.add(this.__groupbox1, {left:20, top:40});

        }


}, this);

これは、ロードされるクラス コードです。

qx.Class.define("appname.Classname",
{
  extend : new qx.ui.groupbox.GroupBox,

  construct : function()
  {

        this.base(arguments);
        this._addContent();



  },
  members:
  {
   _addContent : function()
   {
       some_ui_parts;
       this.add(some_ui.parts);
       some_more_ui_parts;
       this.add(some_more_ui_parts);
    }
   }
});

これは、PartLoader に関連する config.jason の一部です。

"jobs":
{
"common":
{
  "packages" :
  {
    "parts"  :
    {
      "boot"     :
      {
        "include" : [ "${QXTHEME}", "appname.Application" ]
      },
      "part1" :
      {
        "include" : [ "appname.Classname" ]
      }
    }
  }
}
}

注:実際の appname と Classname を appname.Classname short に置き換えただけです。

このエラーを検索しましたが、関連するものは見つかりませんでした。

4

1 に答える 1

0

行を変更する必要があります

qx.Class.define("appname.Classname",
{
  extend : new qx.ui.groupbox.GroupBox,

qx.Class.define("appname.Classname",
{
  extend : qx.ui.groupbox.GroupBox,

新しいクラスを定義して拡張する場合、「new」演算子は必要ありません。詳細については、qooxdoo wikiのクラスのドキュメントを参照してください。

于 2010-02-12T09:24:07.097 に答える