0

http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/doc/helpInfo/jsoRestrictions.htmlのすべてのアドバイスに従いましたが、それでも悪名高い<init>$エラーが発生します。

次のステートメントはエラーをトリガーします。

final OpenCTM ctm = OpenCTM.create();

OpenCTMの場所:

public final class OpenCTM extends GObject {

    protected OpenCTM() {}

    public static native OpenCTM create() /*-{
        return new $wnd.GLGE.OpenCTM();
    }-*/;

    public native void setSrc(String url, String relativeTo) /*-{
        this.setSrc(url, relativeTo);
    }-*/;

}

コード全体は私のGitHubリポジトリにあり、まだかなり小さいです。GLGEフレームワークのラッパーライブラリを作成しようとしています。

もうどうしたらいいのかわからない。

4

2 に答える 2

0

エラーはその後のエラーであり、根本的な原因が隠されていることが判明しました。

解決策は、開発モードでは理論的には不要ですが、実際にこのすべてを時々コンパイルすることです。これは次のことにつながりました:

Errors in 'file:/.../MaterialLayer.java'
       Line 90: missing formal parameter
> function (in) {
> ------------^

対応するJavaコードは次のとおりです。

public native void setMapinput(int in) /*-{
    this.setMapinput(in);
}-*/;

inJSの予約語であるように、これはおそらくいくつかのその後の問題につながりました。簡単に言うと、パラメータをに変更して機能さinputせました...

イライラする!

于 2012-09-07T19:20:44.347 に答える
0

私は専門家ではありません。拡張JavaScriptObjectクラスをEntryPoint:onModuleLoad()実装の外に移動することで、この問題を回避しました。

于 2016-12-04T15:24:01.937 に答える