0

GWT ではSimpleCheckBox.wrap()、DevMode で AssertionError が発生したため、メソッドに問題がありました。GWT.isScript()が true の場合にのみ実行されるコードを追加することで、これを回避していました。私は今、SuperDevMode で同じ課題に直面しています。質問は、実行時にソース コードから superdevmode を認識する方法はありますか?

前もって感謝します!

PSコードからその呼び出しを取り除く簡単な方法がない.wrap()ため、質問は実行モードの認識に本当に限定されています。

更新。1:

.wrap() メソッドのない新しい「特別な」クラスを作成し、これらの行をモジュールの gwt.xml ファイルに追加しました。

<set-property name="superdevmode" value="on"/>
<replace-with class="com.project.client.MyWidgetSuperdevmode">
    <when-type-is class="com.jostleme.jostle.ui.rich.client.MyWidgetProdMode" />
    <when-property-is name="superdevmode" value="on"/>
</replace-with>

そして、複数のことを試しました:ブックマークを介してコンパイルし、プロジェクトを古い方法で再コンパイルし、通常のアプリとコードサーバーアプリの両方を再起動しました。ソースマップでは、クラス MyWidgetProdMode のみを表示できます。私は何を間違っていますか?新しいクラスはコンパイル時にロードされますか?

4

1 に答える 1

0

superdevmode遅延バインディング ルールで使用できるプロパティがありますが、それ以外の場合isScript()は、superdevmode であるかどうかを検出するのと同様の方法はありません。プロパティには値onまたはを指定できますoff

于 2014-05-30T21:38:33.327 に答える